Mar 272012

M1KK4H Version 1.0

  1. M1KK60Title: apps (webmobile, & native) in JavaScript+HTML+CSS
  2. M1KLAV: Originally if 1 wanted to develop an app, one had to pick a language for each type of platform it was to run on:
    1. M1KLC9: For the increasingly popular web browser, the only choices were:
      1. M1KLDG:  HTML+CSS plus JavaScript and/or (rather weird & limited) XSLT
      2. M1KLYC: Limited Java if using GWT which is complex & requires another level of compilation.
    2. M1KLER: For the big-3 desktop environments, the big choices were
      1. M1KLG4: In powerful dynamic languages:
        1. M1KLHL: Python
        2. M1KLHX: Perl
        3. M1KLI4: PHP but mostly just for web work
      2. M1KLS0: For semi-powerful languages (with garbage collection, but lacking anonymous functions w/ environments and/or object-data structures)
        1. M1KLUN: Java
        2. M1KLVB: Bash but mostly for shell scripting (and on Windows requiring Cygwin which is limited & tricky to install)
      3. M1KLGP: For lower-level languages: C++, & C
    3. M1KLIN: For mobile apps, there was just one different choice for each platform:
      1. M1KLKB: For iOS (Apple), Objective-C tailored to it
      2. M1KLKZ: For Android, Java tailored to
      3. M1KLLQ: For Blackberry, some other (not sure which) tailored to it
      4. M1KLMW: For Windows Phone, some other (not sure which) tailored to it
  3. M1KKGI: For many years, I & others have realized the long-term advantage of this approach (“apps (webmobile, & native) in JavaScript+HTML+CSS“)
    1. M1KKHW: The advantage:
      1. M1KMU3: a coding & programming environment enabling one to “write-once & run-everywhere”
      2. M1KKJMweb browsers have changed computing & the world and are everywhere (on every serious computer & now on every serious=smart) phone).
      3. M1KKK7: Every serious web browser, which is most of them, includes JavaScript+HTML+CSS, often a fairly current version, which does ~75% of typical computing tasks.
      4. M1KKN8: If one could get  serious JavaScript+HTML+CSS handling the remaining/native aspects of computing devices, one could handle almost all remaining computing tasks (so ~95%) without having to use (learn & recode in & maintain) any additional computing & programming languages.
    2. M1KKTF: To achieve that last step, some important things were done by those with the foresight to realize it & its importance:
      1.  M1KKVK: Probably most notable, the standard CommonJS.
  4. M1KKY5: But many/most programmers seemed to scoff at the idea, plus the tools weren’t available and development was (initially) slow.
  5. M1KL08: But recently there have been significant breakthrus
    1. M1KL1E: Probably most notable is Node.js
      1. M1KM1E: -the leading server-side JavaScript solution also
        1. M1KM4S: Open-source
        2. M1KM2Z: based on V8, the fastest JavaScript engine.
        3. M1KM37: includes asynchronous threading potential super speed & scalablity
      2. M1KM5L: Supported CommonJS & more
      3. M1KMAM: Skyrocking growth since its release
      4. M1KM60: 1st available for Linux then quickly for Mac
      5. M1KM6E: as of 2012.01, thanks to Microsoft,  now also runs well under Windows, so now runs well on all big-3 computing platforms (Linux+Mac+Windows, this time developed in that order!).
        1.  M1KL5Z: Making it possible develop for the big-3 desktop platforms plus the web browser all in one development environment.
      6. M1KM73: I recall an Android port is in the works
    2. M1KMD2: Many other similar solutions appearing:
      1. M1KMNHOther as RingoJS
      2. M1KMEH: Adobe AIR
      3. M1KMDX: Titanium
      4. M1KME8: PhoneGap
      5. M1KMEP: FeedHenry
      6. M1KMNW: A new one seems to pop up every month or 2
  6. Additional document history
    1. M1KJXR: I want to  now RSVP NO to 6:30pm’s OCPUG Meeting , notably the recent breakthrus and the explanation really needs sharing
    2. M1KK4G: so create this post with fresh ID M1KK4H

  One Response to “apps (web, mobile, & native) in JavaScript+HTML+CSS”

  1. My 1st “marketing” of this article, and actually the immediate reason I wrote it: unusually but sensibly to RSVP NO just now for Orange-County-CA-Python-User-Group meetings I’ve been attending.