Cross Platform Javascript framework

Recently during my research I come up with Zotero for citation. (will talk about that topic later)

To my surprise this app on my mac is built on javascript. I have been thinking to use javascript (instead of / besides java) for a cross-platform app, at least for the UI part. While this is the first time I get some stuff in the wild and, most importantly, it is not bad.

Then I studied a bit on “cross-platform javascript Frameworks”

Zotero is based on XUL, which is Mozilla’s XML-based language for building UI. I know it works while it may not be that portable to mobile and those XML may be not my cup of tea.

Many Frameworks

Another post for even more frameworks (Chinese)

In the first one there is also insights about the distribution

From Eclipse Open Source Developer Report 2012

60% of open source Developers of Android / iOS use only official SDK

those who use cross-platform frameworks

– jQuery Mobile (28.6 percent)

– PhoneGap (17.9)

– Sencha Touch (7.9)

– Dojo Mobile (4.9)

– Titanium (2.8).

Most are Javascript/HTML5/CSS stack.

Some frameworks support only on mobile device, while what I want is also Mac / Windows app (I am lazy)

Thus jQuery Mobile is out of choice.

Update: JQuery Mobile and other frameworks like PhoneGap are not Exclusive but instead complementary. to put it simple – jQuery focus on Layout

There are also comments that framework like jQuery, Ext, MooTools are slow on devices, as their cores focus on cross-browser compatibility, which is unnecessary in mobile devices. (comment by another framework XUI which is also their problem statement)

For Titanium seems it  supports mac app. Uses backbone.js. more info how it works Marketing of it is awesome, a bit too good to be true. I am concerned whether it is open enough, easy to learn and popular. With the percentage seems not true at least for the last thing. and XML again.

I drilled down some more that are Mac-enabled

Another mobile framework PhoneGap is also popular. Mac port for it.  Its engine is now Apache Cordova after the donation
Nice post about its mechanism. Compared to Titanium which will convert into native code for execution,  PhoneGap or another framework AppMobi provide a native app container to run JS/HTML/CSS.

MacGap is a similar one while Mac only

 

Then from this SO thread I see about chromium embedded (CEF)

http://code.google.com/p/chromiumembedded/

As it name implies, basically it is put a chrome inside an app. It intercepts any http request and invoke corresponding local call when needed.

It supports C/C++ and port for many languages, which means it can do many low level stuff.

The concern so far I heard is hard for debugging . Sounds like future stuff though, just give it a try later.

AppJS looks promising & more mature. Seems based on CEF itself and use Node.js. Meanwhile this is for Mac/Linux/Windows but not mobile.

gives Chrome console for debugging. To Watch.

http://stackoverflow.com/questions/13106120/appjs-compile-into-single-executable

While I think stuff like interacting with filesystem with reasonable performance is still long way to go. Clustering part or deuplication is more likely to be done in Java.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s