SlideShare a Scribd company logo
 
Javascript in Linux Desktop Yuren Ju <yurenju@gmail.com>
Yuren Ju Use Linux: 9 years
For Desktop: 7-8 years Red Hat Debian Gentoo Debian Ubuntu Arch Linux Debian
Yuren Ju Blog:  Yuren's Info Area
Email:  [email_address]
社群 Hacking Thursday, KaLUG 工作:ASUSTek
Javascript always use in Web Applications.
Javascript always use in Web Applications.
Javascript in Linux Desktop Web Application/Platform
Desktop Platform
Desktop Application
Internet Application Platform .................................
Performance
Opportunity! Javascript for Web Application Desktop Application
? Javascript in desktop Integration
Layout
Style/theme
Application Platform Web Desktop
Web Application JS HTML +CSS CSS Layout Style Programming Server side
Platform/Browser JS HTML +CSS CSS Layout Style Programming Layout engine Javascript engine
Platform/Browser (2) Firefox Chrome Layout engine Gecko Webkit Javascript engine SpiderMonkey V8
To Desktop Application
Desktop - Platform XULRunner (Mozilla platform)
GNOME Javascript runtime GJS/Seed
XULRunner Programming in Web Browser!
Mozilla applications
XULRunner JS CSS Layout Style Programming Gecko layout engine SpiderMonkey XUL DOM Demo:  http://www.hevanet.com/acorbin/xul/top.xul
Mozilla Platform - integration C++/ Javascript Mozilla Application System XPCOM/NPAPI
Mozilla Platform - integration D-BUS Glade GTK VTE notify
Javascript in GNOME Seed based on WebKit's JavaScriptCore GJS based on Mozilla's Spidermonkey engine
XULRunner JS CSS Layout Style Programming Gecko layout engine SpiderMonkey XUL
Javascript in GNOME JS Layout Style Programming GObject introspection Seed/GJS System library
Javascript in GNOME C API:  GTK, Gstreamer, Clutter, Glib, etc. GObject introspection JavascriptCore/SpiderMonkey Seed/GJS Javascript engine Javascript desktop runtime Javascript application System library
GObject Introspection usage  const Gtk = imports.gi.Gtk;
var window = new Gtk.Window ();
GObject Introspection
<JS> new! Language for GNOME
Traditional arch. Native C API GStreamer Python/Perl/Ruby/Java..., etc. VTE notify GTK Clutter
GObject Introspection Native C API GI JS Java Python Perl Ruby PHP? GStreamer VTE notify GTK Clutter
Metadata using annotations in the comments
GObject Introspection
g-ir-scanner 40 B2 02 00 10 B2........ g-ir-compiler typelib Gir xml file Annotations
GObject Introspection foo.c foo.h Library source, with type annotations Foo.gir XML file Foo.typelib Binary file libgirepository.so Specific language bindings libfoo.so libffi.so
C API: gtk_button_set_label java: button.setLabel(&quot;foo&quot;)
javascript/python/vala: button.set_label(&quot;foo&quot;)
perl: $button->set_label(&quot;foo&quot;)
scheme: (send button (set-label &quot;foo&quot;))
GObject Introspection Native C API GI JS Java Python Perl Ruby PHP? GStreamer VTE notify GTK Clutter
Seed/GJS D-BUS Glade GTK $ aptitude search gir VTE notify
Javascript 已經準備好了!
Hello world
Hello world (2)
Demo - js-gallery
Applications based on Seed Seed Swell-foop
lightsoff

More Related Content

PDF
Developing GNOME Apps in Javascript
PDF
Quick Review of Desktop and Native Apps using Javascript
PDF
Javascript in linux desktop (ICOS ver.)
PDF
welcome to gopherlabs - why go (golang)?
ODP
Introducing Yeoman 1.0 beta
PDF
Happy hacking with Plone
PDF
Devenez le plus heureux des Front-end avec Gulp.js
PPTX
Flutter - Pixel by Pixel
Developing GNOME Apps in Javascript
Quick Review of Desktop and Native Apps using Javascript
Javascript in linux desktop (ICOS ver.)
welcome to gopherlabs - why go (golang)?
Introducing Yeoman 1.0 beta
Happy hacking with Plone
Devenez le plus heureux des Front-end avec Gulp.js
Flutter - Pixel by Pixel

What's hot (20)

ODP
Grok in Plone
PDF
Writing native Linux desktop apps with JavaScript
PDF
用 Kotlin 打造讀書會小幫手
PDF
Continuous Delivery - FIT VUT
PDF
GIT_GITHUB_2016_06_17
ODP
Real-time, collaborative applications in Plone
PDF
Latex with git
PDF
Why use JavaScript in Hardware? GoTo Conf - Berlin
ODP
New Technologies demoed at the 2011 Plone Conference
PDF
Grooscript greach 2015
PDF
Python Desktop Application Development - PythonBo
ODP
Gopenflow demo v1 (english)
PDF
Rapid tests development
PDF
Grooscript gr8conf 2015
PDF
Python_Session
PDF
DESKTOP GUI APP DEVELOPMENT USING PYTHON!
PPTX
game project presentation
PPTX
Puppeteer
PDF
Fisl13 gstreamer
PDF
guadec-2015-developer-switch-dreams
Grok in Plone
Writing native Linux desktop apps with JavaScript
用 Kotlin 打造讀書會小幫手
Continuous Delivery - FIT VUT
GIT_GITHUB_2016_06_17
Real-time, collaborative applications in Plone
Latex with git
Why use JavaScript in Hardware? GoTo Conf - Berlin
New Technologies demoed at the 2011 Plone Conference
Grooscript greach 2015
Python Desktop Application Development - PythonBo
Gopenflow demo v1 (english)
Rapid tests development
Grooscript gr8conf 2015
Python_Session
DESKTOP GUI APP DEVELOPMENT USING PYTHON!
game project presentation
Puppeteer
Fisl13 gstreamer
guadec-2015-developer-switch-dreams
Ad

Viewers also liked (6)

PDF
GUI Programming with Perl / GTK
PDF
GUI in Gtk+ con Glade & Anjuta
PDF
Gtk development-using-glade-3
ODP
Integrating CC Licensing with Applications
PPT
Linux Kernel Development
PPTX
Introduction to c programming
GUI Programming with Perl / GTK
GUI in Gtk+ con Glade & Anjuta
Gtk development-using-glade-3
Integrating CC Licensing with Applications
Linux Kernel Development
Introduction to c programming
Ad

Similar to Javascript in Linux Desktop (20)

PDF
Javascript, the GNOME way (JSConf EU 2011)
PDF
step by step to write a gnome-shell extension
ODP
Gnome Architecture
PDF
Choosing an Application framework for Mobile Linux Device
PDF
Making the GNOME 3.0 desktop accessible: building accessibility into GNOME Sh...
ODP
GNOME:nuts&bolts-MOSC
PDF
Basics of gtk_ilugc
PDF
kocialkowski-overview-linux-userspace-graphics-stack.pdf
PPTX
Linux and its fundamentals
PDF
An introduction to Gnome An introdu.pptx
PDF
Iz Pack
PDF
Suse Studio: "How to create a live openSUSE image with OpenFOAM® and CFD tools"
PDF
The Future of Firefox and JavaScript
PDF
SuSE Studio
ODP
Programming In Linux Presentation
ODP
Some wonderful Linux softwares for daily use
PDF
Gnome, linux mobile stacks, and you
PDF
Web Tools for GemStone/S
PDF
Opensource Software usability
Javascript, the GNOME way (JSConf EU 2011)
step by step to write a gnome-shell extension
Gnome Architecture
Choosing an Application framework for Mobile Linux Device
Making the GNOME 3.0 desktop accessible: building accessibility into GNOME Sh...
GNOME:nuts&bolts-MOSC
Basics of gtk_ilugc
kocialkowski-overview-linux-userspace-graphics-stack.pdf
Linux and its fundamentals
An introduction to Gnome An introdu.pptx
Iz Pack
Suse Studio: "How to create a live openSUSE image with OpenFOAM® and CFD tools"
The Future of Firefox and JavaScript
SuSE Studio
Programming In Linux Presentation
Some wonderful Linux softwares for daily use
Gnome, linux mobile stacks, and you
Web Tools for GemStone/S
Opensource Software usability

More from Yuren Ju (8)

PDF
捷克之旅
PDF
Ksdg customize-your-firefoxos
PDF
Python GTK (Hacking Camp)
PDF
Python and GObject Introspection
PDF
GNOME3 延伸套件教學
PDF
Python-GTK
ODP
Ibus pinyin
ODP
Ibus pinyin
捷克之旅
Ksdg customize-your-firefoxos
Python GTK (Hacking Camp)
Python and GObject Introspection
GNOME3 延伸套件教學
Python-GTK
Ibus pinyin
Ibus pinyin

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Weekly Chronicles - August'25 Week I
MIND Revenue Release Quarter 2 2025 Press Release
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Unlocking AI with Model Context Protocol (MCP)
Chapter 3 Spatial Domain Image Processing.pdf
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
Programs and apps: productivity, graphics, security and other tools
Review of recent advances in non-invasive hemoglobin estimation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

Javascript in Linux Desktop

Editor's Notes