SlideShare a Scribd company logo
Quick Review of
'Desktop' / 'Native' Applications with Javascript
Agenda

   Why? Why Not?
   GLUEScript (http://gluescript.sourceforge.net)
   Seed (http://live.gnome.org/Seed)
   GJS (http://live.gnome.org/Gjs)
   Qt Script (http://doc.qt.nokia.com/latest/qtscript.html)
   QtQuick (http://qt.nokia.com/qtquick/)
   Topcube (https://github.com/creationix/topcube)
   Phones
   Summary
Why Desktop / Native in JS?

Javascript is...
...a fair choice as a language for building a UI
...embeddable in other languages, esp. C++
...also in your web-apps (code reuse???)


I am in search of something 'better' than web-
apps in certain problem domains
Why Not?

   Limited API ?
   Code reuse could be difficult
   Slow ?
   Package Hell ! :(
   ???
GLUEScript
   G)lueing L)ibraries U)sing E)cma-Script
   http://gluescript.sourceforge.net
   SpiderMonkey + POCO (C++) + wxWidgets
   Windows / C++ focused
   Building on Linux hard – I couldn't get there
   Mac ?
   Not worth it yet – could be great when they get to
    apt-get install gluescript
Seed

   Javascript for GTK Apps using WebKit's JS core
   http://live.gnome.org/Seed
   GObjectIntrospection to bridge into GNOME
   Brittle on my machine – Seg-Faults, missing or
    incompatible dependencies (probably Gtk)
   Demo
GJS

   Javascript for GTK using Spidermonkey
   http://live.gnome.org/Gjs
   GObjectIntrospection to bridge into GNOME
   Similar issues to Seed
   Demo
Qt Script

   Scripting Engine for Nokia's Qt framework
   http://doc.qt.nokia.com/latest/qtscript.html
   Typical scripting access to native Qt objects
   WebKit's JavascriptCore
Qt Quick

   Q)t UI C)reation K)it
   http://qt.nokia.com/qtquick/
   QML – a JS- / CSS- like language
   Desktop and 'Web' devices
   Access to the Qt Framework
   Can call JS files
   No Qt widgets???
   Demo
Top Cube

   Node.js binding to WebKitGtk
   https://github.com/creationix/topcube
   Use HTML5 / CSS3 to build a GUI for Node apps
   Demo
For Phone Apps

   IOS:
       Nimblekit (http://nimblekit.com) et al.
   Cross-platform
       Titanium (http://appcelerator.com)
Summary

   The GTK tools seem clunky and broken
   Qt options need more investigation
   Node.js with a GUI – might be cool
   Stick with C++, Python etc bindings for desktop
   Use Java, C++, Objective-C or HTML5 for Phones
   The search continues...

More Related Content

ODP
Javascript in Linux Desktop
PDF
Developing GNOME Apps in Javascript
PDF
Writing native Linux desktop apps with JavaScript
PDF
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
PDF
Continuous Delivery - FIT VUT
PDF
How to contribute textual tooling for apache camel in several id es
PDF
Build and run applications in a dockerless kubernetes world - DevConf India 18
PPTX
Flutter - Pixel by Pixel
Javascript in Linux Desktop
Developing GNOME Apps in Javascript
Writing native Linux desktop apps with JavaScript
What's new with JavaScript in GNOME: The 2020 edition (GUADEC 2020)
Continuous Delivery - FIT VUT
How to contribute textual tooling for apache camel in several id es
Build and run applications in a dockerless kubernetes world - DevConf India 18
Flutter - Pixel by Pixel

What's hot (20)

PDF
Fixing Gaps. Strengthening the Chromium platform for content blocking
PDF
Embedding Chromium into AGL demo platform with WAM
PDF
Chromium Ozone
PDF
QML demo for makerpro (1)
PPTX
JS digest. February 2017
PDF
Groovy android
PDF
Jedi knight
PDF
AllTheTalks 2020: Buildpacks - container for everyone!
PDF
Dockerfile for rust project
PDF
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
PPTX
By VISY - ""In the country of the blind, the one-eyed man is king""
PPTX
Geb+spock: let your functional tests live long and prosper
PPTX
JS digest. January 2017
PDF
GWT - Building Rich Internet Applications Using OO Tools
PDF
Dsl로 만나는 groovy
PDF
Essential parts to implement own Ozone backend
PDF
Spring-batch Groovy y Gradle
PDF
Taking containers from development to production
PPTX
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
PDF
Kiosk-mode browser using Chromium Embedded Framework (CEF)
Fixing Gaps. Strengthening the Chromium platform for content blocking
Embedding Chromium into AGL demo platform with WAM
Chromium Ozone
QML demo for makerpro (1)
JS digest. February 2017
Groovy android
Jedi knight
AllTheTalks 2020: Buildpacks - container for everyone!
Dockerfile for rust project
HTML5 on the AGL demo platform with Chromium and WAM (AGL AMM March 2021)
By VISY - ""In the country of the blind, the one-eyed man is king""
Geb+spock: let your functional tests live long and prosper
JS digest. January 2017
GWT - Building Rich Internet Applications Using OO Tools
Dsl로 만나는 groovy
Essential parts to implement own Ozone backend
Spring-batch Groovy y Gradle
Taking containers from development to production
From Python to smartphones: neural nets @ Saint-Gobain, François Sausset
Kiosk-mode browser using Chromium Embedded Framework (CEF)
Ad

Viewers also liked (20)

PPSX
Electron - Build cross platform desktop apps
PDF
azdor.gov Forms 140a(nr)f
ODP
IV.LOS GRANDES CAMBIOS: PERSONAJES
DOC
Wingate Learner Analysis
PPT
Quirky productswithintro
PPTX
Ute del proceso de construcción del plan nacinal para el buen vivir
PDF
Vol24ju
ODP
Proyecto profundiza francisco_julio_christian.odt
PPT
Rio Info 2010 - Fórum de Negócios - Mercado de Petróleo - Mesa Nacional
DOC
Ex met junio2004 ppl
PPT
Monika Guzik Odbiorca - Uczniowie szkoły podstawowej "Chemia nie tylko w prob...
PDF
Guía 1 introducción a las tecnologías de la información y la comunicación
PPS
Azərbaycan seqmentinə qısa baxış, Anar Əliyev, Elvin Hacı, Samur İsmayılov- f...
PDF
Azure blob cloud drive
PPT
XXIII SEMANA CULTURAL Y DEPORTIVA EN TITIRIBI-ANTIOQUIA 2013
PDF
Korea Economic Daily - May 2013
PPT
[Curs] PR pentru ONG-uri
PPTX
Quiet On The Set
PPS
Trabajos TéMpera SíVori
PPT
Xanthi
Electron - Build cross platform desktop apps
azdor.gov Forms 140a(nr)f
IV.LOS GRANDES CAMBIOS: PERSONAJES
Wingate Learner Analysis
Quirky productswithintro
Ute del proceso de construcción del plan nacinal para el buen vivir
Vol24ju
Proyecto profundiza francisco_julio_christian.odt
Rio Info 2010 - Fórum de Negócios - Mercado de Petróleo - Mesa Nacional
Ex met junio2004 ppl
Monika Guzik Odbiorca - Uczniowie szkoły podstawowej "Chemia nie tylko w prob...
Guía 1 introducción a las tecnologías de la información y la comunicación
Azərbaycan seqmentinə qısa baxış, Anar Əliyev, Elvin Hacı, Samur İsmayılov- f...
Azure blob cloud drive
XXIII SEMANA CULTURAL Y DEPORTIVA EN TITIRIBI-ANTIOQUIA 2013
Korea Economic Daily - May 2013
[Curs] PR pentru ONG-uri
Quiet On The Set
Trabajos TéMpera SíVori
Xanthi
Ad

Similar to Quick Review of Desktop and Native Apps using Javascript (20)

PDF
Javascript in linux desktop (ICOS ver.)
PDF
Necessitas - Qt on Android - from FSCONS 2011
PDF
Qt quick (qml)
PDF
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
PDF
Gnome, linux mobile stacks, and you
PDF
Welcome - Introduzione - Burkhard Stubert
PDF
Qt Tutorial - Part 1
PDF
Hybrid Apps (Native + Web) via QtWebKit
PDF
Hybrid Apps (Native + Web) using WebKit
PDF
Hybrid Apps (Native + Web) using WebKit
PDF
Epam mobile meetup 2014 10-15 qt cross-platform solution for mobile development
PPTX
Guided overview of software frameworks qt framework
PPTX
Intro to gui, cross platform and qt
PDF
Introduction to QtWebKit
PDF
Andreas Jakl Software Development on Nokia Deviceswith Qt
PDF
Developments in the Qt WebKit Integration
PDF
QtQuick Day 1
PDF
Introduction to Qt programming
PPT
了解 Qt
PDF
Javascript, the GNOME way (JSConf EU 2011)
Javascript in linux desktop (ICOS ver.)
Necessitas - Qt on Android - from FSCONS 2011
Qt quick (qml)
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Gnome, linux mobile stacks, and you
Welcome - Introduzione - Burkhard Stubert
Qt Tutorial - Part 1
Hybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) using WebKit
Hybrid Apps (Native + Web) using WebKit
Epam mobile meetup 2014 10-15 qt cross-platform solution for mobile development
Guided overview of software frameworks qt framework
Intro to gui, cross platform and qt
Introduction to QtWebKit
Andreas Jakl Software Development on Nokia Deviceswith Qt
Developments in the Qt WebKit Integration
QtQuick Day 1
Introduction to Qt programming
了解 Qt
Javascript, the GNOME way (JSConf EU 2011)

Recently uploaded (20)

PPTX
503ea471-f798-4324-90e8-275bdab41942.pptx
PDF
SEVA- Fashion designing-Presentation.pdf
PDF
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
PDF
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
DOCX
The story of the first moon landing.docx
PPTX
6- Architecture design complete (1).pptx
PDF
YOW2022-BNE-MinimalViableArchitecture.pdf
PPT
UNIT I- Yarn, types, explanation, process
PDF
Lesson Blue World Health Day Facebook Post.pdf
PDF
URBAN DESIGN DESKTOP CASESTUDY IITG.pdf
PPTX
12. Community Pharmacy and How to organize it
PPTX
Implications Existing phase plan and its feasibility.pptx
PDF
10 Real World Lessons and 4 Practical Tips for Large Group LSP Method
PPTX
Introduction to Pathology.pptx 112233445566
PDF
Phone away, tabs closed: No multitasking
PPTX
Obesity.Vinay S.pptx huolbdd kifh jcgjjn
PPTX
Wisp Textiles: Where Comfort Meets Everyday Style
PDF
BRANDBOOK-Presidential Award Scheme-Kenya-2023
DOCX
A Contemporary Luxury Villa in Dubai Jumeirah-2.docx
PDF
Biophilic Sound Design for Luxury Wellness Centers
503ea471-f798-4324-90e8-275bdab41942.pptx
SEVA- Fashion designing-Presentation.pdf
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
The story of the first moon landing.docx
6- Architecture design complete (1).pptx
YOW2022-BNE-MinimalViableArchitecture.pdf
UNIT I- Yarn, types, explanation, process
Lesson Blue World Health Day Facebook Post.pdf
URBAN DESIGN DESKTOP CASESTUDY IITG.pdf
12. Community Pharmacy and How to organize it
Implications Existing phase plan and its feasibility.pptx
10 Real World Lessons and 4 Practical Tips for Large Group LSP Method
Introduction to Pathology.pptx 112233445566
Phone away, tabs closed: No multitasking
Obesity.Vinay S.pptx huolbdd kifh jcgjjn
Wisp Textiles: Where Comfort Meets Everyday Style
BRANDBOOK-Presidential Award Scheme-Kenya-2023
A Contemporary Luxury Villa in Dubai Jumeirah-2.docx
Biophilic Sound Design for Luxury Wellness Centers

Quick Review of Desktop and Native Apps using Javascript

  • 1. Quick Review of 'Desktop' / 'Native' Applications with Javascript
  • 2. Agenda  Why? Why Not?  GLUEScript (http://gluescript.sourceforge.net)  Seed (http://live.gnome.org/Seed)  GJS (http://live.gnome.org/Gjs)  Qt Script (http://doc.qt.nokia.com/latest/qtscript.html)  QtQuick (http://qt.nokia.com/qtquick/)  Topcube (https://github.com/creationix/topcube)  Phones  Summary
  • 3. Why Desktop / Native in JS? Javascript is... ...a fair choice as a language for building a UI ...embeddable in other languages, esp. C++ ...also in your web-apps (code reuse???) I am in search of something 'better' than web- apps in certain problem domains
  • 4. Why Not?  Limited API ?  Code reuse could be difficult  Slow ?  Package Hell ! :(  ???
  • 5. GLUEScript  G)lueing L)ibraries U)sing E)cma-Script  http://gluescript.sourceforge.net  SpiderMonkey + POCO (C++) + wxWidgets  Windows / C++ focused  Building on Linux hard – I couldn't get there  Mac ?  Not worth it yet – could be great when they get to apt-get install gluescript
  • 6. Seed  Javascript for GTK Apps using WebKit's JS core  http://live.gnome.org/Seed  GObjectIntrospection to bridge into GNOME  Brittle on my machine – Seg-Faults, missing or incompatible dependencies (probably Gtk)  Demo
  • 7. GJS  Javascript for GTK using Spidermonkey  http://live.gnome.org/Gjs  GObjectIntrospection to bridge into GNOME  Similar issues to Seed  Demo
  • 8. Qt Script  Scripting Engine for Nokia's Qt framework  http://doc.qt.nokia.com/latest/qtscript.html  Typical scripting access to native Qt objects  WebKit's JavascriptCore
  • 9. Qt Quick  Q)t UI C)reation K)it  http://qt.nokia.com/qtquick/  QML – a JS- / CSS- like language  Desktop and 'Web' devices  Access to the Qt Framework  Can call JS files  No Qt widgets???  Demo
  • 10. Top Cube  Node.js binding to WebKitGtk  https://github.com/creationix/topcube  Use HTML5 / CSS3 to build a GUI for Node apps  Demo
  • 11. For Phone Apps  IOS:  Nimblekit (http://nimblekit.com) et al.  Cross-platform  Titanium (http://appcelerator.com)
  • 12. Summary  The GTK tools seem clunky and broken  Qt options need more investigation  Node.js with a GUI – might be cool  Stick with C++, Python etc bindings for desktop  Use Java, C++, Objective-C or HTML5 for Phones  The search continues...