cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maxime LUCE <max...@touchify.co>
Subject RE: Adding node-webkit as a platform
Date Sat, 18 Oct 2014 19:02:58 GMT
I'm really happy I'm not the only one to want this great platform integrated into cordova.
If enough of us can be involved, we will be able to carry out this project.

Since you asked me to not wait to start my research.
Here are the results of my first analysis :

Firstly our work will be simplified by three things :
- We can reuse a lot of code from Browser platform.
- Chromium implement many features natively, we only have to align these with our specs.
- We have access to nodejs which is really easy to use and can perform a lot of tasks.

Below, I will detail the work to be done by repository.

# Work on cordova-js :
- exec: 		same as Browser platform
- platform: 	we should isolate nodejs's require function
			-- window.nodeRequire = window.require;
			-- window.require = null;

# Work on cordova-lib / cordova (cordova-cli) :
- parser: 	We can reuse browser_parser.js
		We have to create node-webkit specific package.json using update_from_config function 
- platforms:	Just add the platform into platforms.js

# Work on cordova-lib / plugman (plugman) :
- platforms:	Same as browser

# Work on node-webkit platform
- We can start using the cordova-browser platform
- template: 	replace manifest.webapp by package.json
- scripts:
	- clean: no changes
	- version: no changes
	- run: run nw using www folder as startup path
	- build: zip www folder to app.nw
	- create: copy template dir
		  download node-webkit binaries based on platform and node-version
	- update: copy cordova-js
		    download new node-webkit binaries
	- check_reqs: node-version >= 0.10

Now I will details work to be done on plugins :

# Battery-Status
We can use the node-battery module (https://github.com/leon-vv/node-battery)

# Camera
We can use native function  getUserMedia

# Console
No need as Chromium console is already great !

# Contacts
VCARD parser ?

# Device
Platform:	navigator.platform
Model:		"node-webkit / " + win32|mac|linux + (x64)
Version: 	https://github.com/rogerwang/node-webkit/wiki/Get-version-of-node-webkit-in-app
Cordova:	browser.cordovaVersion
Uuid:		Stored in DOM Storage

# Accelerometer / Compass
http://www.html5rocks.com/en/tutorials/device/orientation/

# Dialogs
Custom Solution : HTML5 / Design adapted on  each platforms ?
Beep: https://github.com/feross/beepbeep

# FileSystem
Two choices :
- Use native FileSystem API implemented in Chromium
- Use node fs module

# File Transfer
- Use node request module

# Geolocation
Already implemented in Chromium

# Globalization
Use navigator + custom solution

# InAppBrowser
https://github.com/rogerwang/node-webkit/wiki/Mini-browser-in-iframe

# Media
HTML 5 Audio / Video Wrapper

# Media Capture
We can use native function  getUserMedia

# Network Information
Same as Browser implementation

# Splash screen
Custom solution using :
https://github.com/rogerwang/node-webkit/wiki/Window#openurl-options

# Vibration
Already implemented natively

# Status Bar
Can be used to control toolbar visibility. 
But don't think there is a real need since toolbar need a specific implementation.

Wow !
I think it's a good global view to understand the work to be done to implement node-webkit
into cordova.

Let me know your thoughts.

Thanks !
--------------------------------
Maxime LUCE
Touchify - CEO
+33 6 28 60 72 34 | skype: maximeluce
maxime@touchify.co | http://touchify.co

-----Message d'origine-----
De : Tommy Williams [mailto:tommy@devgeeks.org] 
Envoyé : samedi 18 octobre 2014 04:22
À : dev@cordova.apache.org
Objet : Re: Adding node-webkit as a platform

Might be able to help with this.

We are pretty invested in Node-Webkit.
On 18 Oct 2014 13:00, "Brian LeRoux" <b@brian.io> wrote:

> +1 to swarm dev ... That is our (not only) advantage being at Apache
> On Oct 17, 2014 6:33 PM, "Jesse" <purplecabbage@gmail.com> wrote:
>
> > No, don't wait for me ... swarm.
> >
> > @purplecabbage
> > risingj.com
> >
> > On Fri, Oct 17, 2014 at 6:24 PM, Maxime LUCE <maxime@touchify.co> wrote:
> >
> > > Ok I wait for your report to start my researches.
> > >
> > >
> > > Maxime LUCE
> > > Touchify, CEO
> > >
> > > +33 6 28 60 72 34 | skype: maximeluce
> > > maxime@touchify.co | http://touchify.co
> > >
> > >
> > > -----Message d'origine-----
> > > De : Jesse [mailto:purplecabbage@gmail.com] Envoyé : samedi 18 
> > > octobre 2014 03:06 À : dev@cordova.apache.org Objet : Re: Adding 
> > > node-webkit as a platform
> > >
> > > Yeah, I think it would be awesome if we could decouple cordova-cli 
> > > and cordova-plugman from each and every platform, but given the 
> > > recent
> > > version+pinning discussions, this may be hard to get through.
> > >
> > > I will play try to play with it a bit (over the weekend) and 
> > > report
> back.
> > >
> > > @purplecabbage
> > > risingj.com
> > >
> > > On Fri, Oct 17, 2014 at 5:55 PM, Maxime LUCE <maxime@touchify.co>
> wrote:
> > >
> > > > I understand your thoughts...
> > > > The main problem if we create a separate platform is that we 
> > > > can't
> add
> > > > support for plugins (or I don't know how ?).
> > > >
> > > > We could try to simplify the process to work with custom 
> > > > platform outside the main distribution.
> > > >
> > > >
> > > >
> > > > Maxime LUCE
> > > > Touchify, CEO
> > > >
> > > > +33 6 28 60 72 34 | skype: maximeluce
> > > > maxime@touchify.co | http://touchify.co
> > > >
> > > >
> > > > -----Message d'origine-----
> > > > De : Jesse [mailto:purplecabbage@gmail.com] Envoyé : samedi 18
> octobre
> > > > 2014 02:43 À : dev@cordova.apache.org Objet : Re: Adding 
> > > > node-webkit as a platform
> > > >
> > > > official?
> > > > If you want to do it, or anyone else does, then they should go 
> > > > for
> it.
> > > > Here's my random thoughts ...
> > > > I think it would be awesome, but we currently all appear to have 
> > > > way more work than we can accomplish. The issue list in JIRA is 
> > > > out of control, and we seem to be losing ground.
> > > > What happened to 'sugar' as a platform? Their pull requests are 
> > > > sitting and waiting ... [1] Tizen [2][3] ??
> > > > Browser as a platform took months, and is only finally in, 
> > > > although
> no
> > > > one knows about it.
> > > > Adding a platform currently affects cordova-lib/cli/js + plugman 
> > > > + every core plugin ... having more platforms may not be better, 
> > > > especially if they aren't maintained.
> > > >
> > > >
> > > > [1] https://github.com/apache/cordova-lib/pull/98
> > > > [2] https://github.com/apache/cordova-lib/pull/47
> > > > [3] https://github.com/apache/cordova-lib/pull/16
> > > >
> > > >
> > > > @purplecabbage
> > > > risingj.com
> > > >
> > > > On Fri, Oct 17, 2014 at 5:03 PM, Dick Van den Brink < 
> > > > d_vandenbrink@outlook.com> wrote:
> > > >
> > > > > Would be awesome, I created this myself using CefClient 
> > > > > (without
> > > > > cordova-plugins) and for Windows only. Official support with 
> > > > > node-webkit would be a cool idea!
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Verzonden met Windows Mail
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Van: Maxime LUCE
> > > > > Verzonden: ‎zaterdag‎ ‎18‎ ‎oktober‎ ‎2014 ‎01‎:‎32
> > > > > Aan: dev@cordova.apache.org
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Hi everyone,
> > > > >
> > > > > I want to start again a debate about adding node-webkit as a 
> > > > > platform for cordova.
> > > > > It will allow developers to target Windows (Desktop), Mac OS X 
> > > > > and
> > > Linux.
> > > > >
> > > > > It could also be a way to debug complex applications without 
> > > > > any simulators.
> > > > >
> > > > > I really want to target this platform and for now I need to 
> > > > > create
> a
> > > > > separate project.
> > > > > Having all my applications in the same project (Cordova) would 
> > > > > be a great productivity improvement.
> > > > > I think I'm not the only cordova users who want to target 
> > > > > Destkop platforms.
> > > > >
> > > > > What do you think ?
> > > > >
> > > > > -------------------------------- Maxime LUCE Touchify - CEO
> > > > > +33 6 28 60 72 34 | skype: maximeluce
> > > > > maxime@touchify.co | http://touchify.co
> > > > >
> > > >
> > >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org
Mime
View raw message