O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Updated: NW.js - Desktop Apps with Javascript

1.859 visualizações

Publicada em

My updated presentation from the Javascript MeetUp in Berlin, 20th of April: status of our hybrid development world.

This expands the presentation I held last year on EnterJS and gives updates to releasing a commercial desktop app build with NW.js (formerly known as Node-Webkit).

Business with Javascript Apps on the Desktop: possible!

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Updated: NW.js - Desktop Apps with Javascript

  1. 1. Desktop App with NWJS.io Creating a commercial product with Javascript (and Node-Webkit) by Ralf Schwoebel rs@orga.zone April, 20th 2015 - Berlin
  2. 2. Hi, this is Ralf... 1995: 1st German shopping mall on the web (Perl) 1997: VShop (C++), distributed by SuSE 2001: SEO for affili.net merchants (Perl) 2005: Tradebit.com – download marketplace (PHP+JS) 2015: crypted.company – Open Source encryption (JS) & orga.zone AG, business app hosting (PHP+JS) 4/21/2015 2
  3. 3. Creating a commercial JS product One source to rule them all? • Planning and coding • Release • Distribution (aka: how can we sell it?) 4/21/2015 3
  4. 4. Choosing the frameworks After 2 years “fiddeling“ in that market: There is no simple single source approach to deliver more complicated apps (file management, data manipulation) out of 1 code base! if($code == “javascript“) { $desktop = ; $phablet = ; } 4/21/2015 4
  5. 5. Going NW.js NW.js (http://nwjs.io/ - previously know as Node-Webkit) from a business point of view: • gives you the power of NodeJS (full system control) • lets you create a .pgk, .dmg, .exe, .rpm to distribute • is stable enough for professional use • comes basically with a Chrome browser (think “customer reach”) 4/21/2015 5
  6. 6. NW.js 4/21/2015 6 Live Demo, if network is available We tried to put all none-CommonJS methods in extra classes!
  7. 7. First steps: asynchronous is hard Asynchronous may result in bad looking code – aka “Pyramid of Doom”… (promises may help) or you can: … fileTimestamp: function( strFilename, arrParams, successFunction ) { try { var n = Bz.fileTimestampSync( strFilename ); if ( successFunction ) { if ( arrParams ) arrParams['return'] = n; (successFunction)( arrParams ); } } catch ( e ) { Bz.alert( e ); } }, … 4/21/2015 7
  8. 8. From 0 to Version 1.0 Our product creation process took 5 months without the initial learning curve 4/21/2015 8 Learning Asynchronous JS Learning Node-Webkit & nodeJS Planning the product Coding & Designing the product Learning about App Stores & pitfalls Release Nov Dec Jan Feb Mar Apr May Jun 2014 C&D letter October
  9. 9. The result - Today The source is on GitHub - https://crypted.company/ 4/21/2015 9
  10. 10. But now the commercial part? Submission of NW.js packages (.pkg) to the OS X App Store: Windows: no problem! 4/21/2015 10
  11. 11. But now the commercial part? Direct sales via redistribution partners: works much better! 4/21/2015 11
  12. 12. Commercial Release - Basics The extras around a professional software release costs you days to weeks to make right: 4/21/2015 12 • Signed packages for install (certificates, etc.): OS X, Windows: only with valid certs • Without extra efforts: your source code is always available in the package • OS X App store can be a real revenue stream (we have managed to put a “light” version there) • PAD is your friend: 25,000 downloads in 3 months
  13. 13. Commercial Software: PAD http://pad.asp-software.org/ 4/21/2015 13 • XML format to describe your software packages • Directory submission
  14. 14. Summary 4/21/2015 14 • Node-Webkit is good for production, commercial releases • Do not underestimate the administrative workload around publication • Targetting Desktop & Smartphones out of one code base: almost as much work as coding it twice. • For complex tasks (file operations): Javascript can be slow! • Don‘t forget to register your work: https://apps.orga.zone/
  15. 15. Thanks a bunch 4/21/2015 15 Thanks & make it so Ralf Schwoebel rs@orga.zone twitter: @orgaralf