Suche senden
Hochladen
Developing GNOME Apps in Javascript
•
1 gefällt mir
•
1,576 views
Felipe Borges
Folgen
Software
Technologie
Melden
Teilen
Melden
Teilen
1 von 18
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Javascript in Linux Desktop
Javascript in Linux Desktop
Yuren Ju
Quick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using Javascript
Robert Ellen
Javascript in linux desktop (ICOS ver.)
Javascript in linux desktop (ICOS ver.)
Yuren Ju
welcome to gopherlabs - why go (golang)?
welcome to gopherlabs - why go (golang)?
sangam biradar
Git: Why And How to
Git: Why And How to
lanhuonga3
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 beta
digitalzombie
Happy hacking with Plone
Happy hacking with Plone
Makina Corpus
Devenez le plus heureux des Front-end avec Gulp.js
Devenez le plus heureux des Front-end avec Gulp.js
Rémy Savard
Empfohlen
Javascript in Linux Desktop
Javascript in Linux Desktop
Yuren Ju
Quick Review of Desktop and Native Apps using Javascript
Quick Review of Desktop and Native Apps using Javascript
Robert Ellen
Javascript in linux desktop (ICOS ver.)
Javascript in linux desktop (ICOS ver.)
Yuren Ju
welcome to gopherlabs - why go (golang)?
welcome to gopherlabs - why go (golang)?
sangam biradar
Git: Why And How to
Git: Why And How to
lanhuonga3
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 beta
digitalzombie
Happy hacking with Plone
Happy hacking with Plone
Makina Corpus
Devenez le plus heureux des Front-end avec Gulp.js
Devenez le plus heureux des Front-end avec Gulp.js
Rémy Savard
Continuous Delivery - FIT VUT
Continuous Delivery - FIT VUT
Juraj Michálek
Flutter - Pixel by Pixel
Flutter - Pixel by Pixel
Thomas Gazzoni
Understanding how concurrency work in os
Understanding how concurrency work in os
GenchiLu1
Grok in Plone
Grok in Plone
jcbrand
Writing native Linux desktop apps with JavaScript
Writing native Linux desktop apps with JavaScript
Igalia
game project presentation
game project presentation
Kavi Kumar
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
siva ram
Latex with git
Latex with git
sppmg
用 Kotlin 打造讀書會小幫手
用 Kotlin 打造讀書會小幫手
Shengyou Fan
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
TechnicalMachine
Real-time, collaborative applications in Plone
Real-time, collaborative applications in Plone
jcbrand
Gopenflow demo v1 (english)
Gopenflow demo v1 (english)
Hiroaki Kawai
Rapid tests development
Rapid tests development
The Software House
New Technologies demoed at the 2011 Plone Conference
New Technologies demoed at the 2011 Plone Conference
jcbrand
Python_Session
Python_Session
siva ram
Python Django Basics
Python Django Basics
RahilMemon5
Mp24: Python in gaming industry
Mp24: Python in gaming industry
Montreal Python
Geb+spock: let your functional tests live long and prosper
Geb+spock: let your functional tests live long and prosper
Esther Lozano
MeteorJS - How to start
MeteorJS - How to start
Dan Tran
guadec-2015-developer-switch-dreams
guadec-2015-developer-switch-dreams
Christian Hergert
Building assets on the fly with Node.js
Building assets on the fly with Node.js
Acquisio
EY India Tax Insights
EY India Tax Insights
EY
Weitere ähnliche Inhalte
Was ist angesagt?
Continuous Delivery - FIT VUT
Continuous Delivery - FIT VUT
Juraj Michálek
Flutter - Pixel by Pixel
Flutter - Pixel by Pixel
Thomas Gazzoni
Understanding how concurrency work in os
Understanding how concurrency work in os
GenchiLu1
Grok in Plone
Grok in Plone
jcbrand
Writing native Linux desktop apps with JavaScript
Writing native Linux desktop apps with JavaScript
Igalia
game project presentation
game project presentation
Kavi Kumar
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
siva ram
Latex with git
Latex with git
sppmg
用 Kotlin 打造讀書會小幫手
用 Kotlin 打造讀書會小幫手
Shengyou Fan
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
TechnicalMachine
Real-time, collaborative applications in Plone
Real-time, collaborative applications in Plone
jcbrand
Gopenflow demo v1 (english)
Gopenflow demo v1 (english)
Hiroaki Kawai
Rapid tests development
Rapid tests development
The Software House
New Technologies demoed at the 2011 Plone Conference
New Technologies demoed at the 2011 Plone Conference
jcbrand
Python_Session
Python_Session
siva ram
Python Django Basics
Python Django Basics
RahilMemon5
Mp24: Python in gaming industry
Mp24: Python in gaming industry
Montreal Python
Geb+spock: let your functional tests live long and prosper
Geb+spock: let your functional tests live long and prosper
Esther Lozano
MeteorJS - How to start
MeteorJS - How to start
Dan Tran
guadec-2015-developer-switch-dreams
guadec-2015-developer-switch-dreams
Christian Hergert
Was ist angesagt?
(20)
Continuous Delivery - FIT VUT
Continuous Delivery - FIT VUT
Flutter - Pixel by Pixel
Flutter - Pixel by Pixel
Understanding how concurrency work in os
Understanding how concurrency work in os
Grok in Plone
Grok in Plone
Writing native Linux desktop apps with JavaScript
Writing native Linux desktop apps with JavaScript
game project presentation
game project presentation
GIT_GITHUB_2016_06_17
GIT_GITHUB_2016_06_17
Latex with git
Latex with git
用 Kotlin 打造讀書會小幫手
用 Kotlin 打造讀書會小幫手
Why use JavaScript in Hardware? GoTo Conf - Berlin
Why use JavaScript in Hardware? GoTo Conf - Berlin
Real-time, collaborative applications in Plone
Real-time, collaborative applications in Plone
Gopenflow demo v1 (english)
Gopenflow demo v1 (english)
Rapid tests development
Rapid tests development
New Technologies demoed at the 2011 Plone Conference
New Technologies demoed at the 2011 Plone Conference
Python_Session
Python_Session
Python Django Basics
Python Django Basics
Mp24: Python in gaming industry
Mp24: Python in gaming industry
Geb+spock: let your functional tests live long and prosper
Geb+spock: let your functional tests live long and prosper
MeteorJS - How to start
MeteorJS - How to start
guadec-2015-developer-switch-dreams
guadec-2015-developer-switch-dreams
Andere mochten auch
Building assets on the fly with Node.js
Building assets on the fly with Node.js
Acquisio
EY India Tax Insights
EY India Tax Insights
EY
Angular.js - JS Camp UKraine 2013
Angular.js - JS Camp UKraine 2013
Max Klymyshyn
Gtk development-using-glade-3
Gtk development-using-glade-3
caezsar
Planbox Backbone MVC
Planbox Backbone MVC
Acquisio
The Delight and Difficulties of Universal Java Script with React
The Delight and Difficulties of Universal Java Script with React
New Relic
Full-Stack JavaScript with Node.js
Full-Stack JavaScript with Node.js
Michael Lehmann
Isomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the web
Sigma Software
An introduction to React.js
An introduction to React.js
Emanuele DelBono
Customer Segmentation Principles
Customer Segmentation Principles
Vladimir Dimitroff
React JS and why it's awesome
React JS and why it's awesome
Andrew Hull
Andere mochten auch
(11)
Building assets on the fly with Node.js
Building assets on the fly with Node.js
EY India Tax Insights
EY India Tax Insights
Angular.js - JS Camp UKraine 2013
Angular.js - JS Camp UKraine 2013
Gtk development-using-glade-3
Gtk development-using-glade-3
Planbox Backbone MVC
Planbox Backbone MVC
The Delight and Difficulties of Universal Java Script with React
The Delight and Difficulties of Universal Java Script with React
Full-Stack JavaScript with Node.js
Full-Stack JavaScript with Node.js
Isomorphic JavaScript – future of the web
Isomorphic JavaScript – future of the web
An introduction to React.js
An introduction to React.js
Customer Segmentation Principles
Customer Segmentation Principles
React JS and why it's awesome
React JS and why it's awesome
Ähnlich wie Developing GNOME Apps in Javascript
Gomobile: gophers in the land of Android
Gomobile: gophers in the land of Android
Jovica Popovic
Google GO
Google GO
Ajay Gahlot
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
Lets Go - An introduction to Google's Go Programming Language
Lets Go - An introduction to Google's Go Programming Language
Ganesh Samarthyam
Javascript, the GNOME way (JSConf EU 2011)
Javascript, the GNOME way (JSConf EU 2011)
Igalia
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction
Ganesh Samarthyam
A First Look at Google's Go Programming Language
A First Look at Google's Go Programming Language
Ganesh Samarthyam
Golang introduction
Golang introduction
DineshDinesh131
Opensource Software usability
Opensource Software usability
Giacomo Antonino Fazio
G T K+ 101
G T K+ 101
Ahmed Saeed
Introduction to Go
Introduction to Go
Simon Hewitt
Golang : A Hype or the Future?
Golang : A Hype or the Future?
Mindfire LLC
Fundamentals of Golang
Fundamentals of Golang
Suvin Nimnaka
Android is going to Go! Android and Golang
Android is going to Go! Android and Golang
Almog Baku
Android is going to Go! - Android and goland - Almog Baku
Android is going to Go! - Android and goland - Almog Baku
DroidConTLV
A gentle intro to Golang and the Go-universe
A gentle intro to Golang and the Go-universe
Alex-P. Natsios
Dependency management in golang
Dependency management in golang
Ramit Surana
PhoneGap
PhoneGap
Emil Varga
Introduction to go lang
Introduction to go lang
Amal Mohan N
Go programing language
Go programing language
Ramakrishna kapa
Ähnlich wie Developing GNOME Apps in Javascript
(20)
Gomobile: gophers in the land of Android
Gomobile: gophers in the land of Android
Google GO
Google GO
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
Lets Go - An introduction to Google's Go Programming Language
Lets Go - An introduction to Google's Go Programming Language
Javascript, the GNOME way (JSConf EU 2011)
Javascript, the GNOME way (JSConf EU 2011)
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction
A First Look at Google's Go Programming Language
A First Look at Google's Go Programming Language
Golang introduction
Golang introduction
Opensource Software usability
Opensource Software usability
G T K+ 101
G T K+ 101
Introduction to Go
Introduction to Go
Golang : A Hype or the Future?
Golang : A Hype or the Future?
Fundamentals of Golang
Fundamentals of Golang
Android is going to Go! Android and Golang
Android is going to Go! Android and Golang
Android is going to Go! - Android and goland - Almog Baku
Android is going to Go! - Android and goland - Almog Baku
A gentle intro to Golang and the Go-universe
A gentle intro to Golang and the Go-universe
Dependency management in golang
Dependency management in golang
PhoneGap
PhoneGap
Introduction to go lang
Introduction to go lang
Go programing language
Go programing language
Kürzlich hochgeladen
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Hironori Washizaki
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
andrehoraa
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
Marharyta Nedzelska
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
Christoph Pohl
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Safe Software
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Rob Geurden
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
FerryKemperman
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
Andreas Kunz
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
preethippts
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
Christian Birchler
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
YashikaSharma391629
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Matt Ray
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Stefano Stabellini
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Cizo Technology Services
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Dinusha Kumarasiri
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
vyaparkranti
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
VICTOR MAESTRE RAMIREZ
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Angel Borroy López
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
ABSYZ Inc
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
OnePlan Solutions
Kürzlich hochgeladen
(20)
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Developing GNOME Apps in Javascript
1.
Developing GNOME Apps
in Javascript Felipe Borges <felipeborges@gnome.org>
2.
Why talk about
Gjs?
3.
GNOME is.... Desktop environment Development
platform
4.
GNOME Developer Platform
5.
Javascript is pretty
cool!
6.
It has bad
parts! Globals Unexpected behaviour No block scope
7.
But it also
has good parts! Closures are central Functions are first-class objects Prototypal inheritance Is everywhere!
8.
9.
Gjs First released in
2008 Well maintained Main development language for writing GNOME Apps
10.
GNOME Apps in
JS Documents Shell Polari
11.
gjs-console
12.
Get started Gjs and
Gtk Actions and signals Run your application
13.
const Lang =
imports.lang; const Gtk = imports.gi.Gtk; const App = new Lang.Class({ Name: 'App', Extends: Gtk.Application, _init: function () { this.parent({ application_id: 'org.example.App' }); this.connect('activate', Lang.bind(this, this._onActivate)); this.connect('startup', Lang.bind(this, this._onStartup)); },
14.
_onActivate: function ()
{ this._window.show_all(); }, _onStartup: function () { this._window = new Gtk.ApplicationWindow({ application: this, title: "Hello World!" }); this._window.set_default_size(200, 200); let label = new Gtk.Label({ label: "Hello World" }); this._window.add(label); } });
15.
Run your application let
app = new App(); app.run(ARGV); $ gjs helloWorld.js
16.
http://developer.gnome.org/
17.
Become a Friend
of GNOME Individual donation program Donations support the GNOME project http://gnome.org/friends
18.
Developing GNOME Apps
in Javascript Felipe Borges <felipeborges@gnome.org>
Jetzt herunterladen