On Tue, Mar 13, 2018 at 2:16 AM, William Park via talk <talk@gtalug.org> wrote:
Hi all, (If you're on KWLUG list, sorry for duplicate.)

I have a general question about JavaScript.  I want to develop/propose
"web app" hosted from embedded Linux board.  So,
    - you go to its webpage,
    - click "web app",
    - it will serve out JavaScript to browser client, and
    - the app will be running on the browser.

Which Javascript should I learn?

I mean, there are Meteor, Angular, React, Ember, Vue, etc.  Some are
described as "framework", and others described as "library".  Then,
there is Web Assembly I've been reading about recently.  It's difficult
to figure out what's what.

If you don't know JavaScript already, don't start by attempting to learn one of the frameworks or libraries. Learn plain JavaScript first. Unless you intend to use Rust, C, or C++ to write your code, you can ignore WebAssembly for now.

Meteor - I've ignored it because at the time I was looking, they used their own packaging mechanism instead of Node packages and the only database they supported was MongoDB. MongoDB is not likely a good fit for an embedded Linux board.

Angular - which one? AngularJS, which is pre version 2x of Angular, is a completely different beast than Angular 2x and on. We use AngularJS on a project and it works well for us but the decision to use it was made in 2013/2014. I would not make the same decision today. AngularJS and Angular are popular in the "enterprise" space.

Ember - if you like the rigid way it does things, it might be OK. I didn't like it and it seemed like it didn't really solve problems I couldn't solve with much more popular frameworks in better languages, like Django.

Vue - it's popular with the Laravel PHP crowd. It reminds me of Angular in some ways. Meh...

React - I'd pick this for the front end today if I wanted to stick with JavaScript because it's tremendously popular and there are a wealth of resources available. That you can write once and deploy to the web, natively to iOS and Android using ReactXP <https://microsoft.github.io/reactxp/> is a big win. The React license was problematic but Facebook saw the error of its ways and changed the license to an MIT license.

You'll still need some sort of server, which doesn't necessarily have to be written in JavaScript. If you want to use the same language both on the frontend and backend, I really like Feathers <https://feathersjs.com/> with React.

Of course what you want to accomplish can be done with languages that transpile to JavaScript, too. See: <https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js>

I've mentioned Dart and Flutter before. I've been playing with it and like it.

Regards,

Clifford Ilkay

+1 647-778-8696