OpenDirective / brian

Easy communication and media access for people with cognitive access requirements
http://opendirective.github.io/brian
MIT License
8 stars 3 forks source link

Technology choice #18

Closed SteveALee closed 8 years ago

SteveALee commented 8 years ago

We need to get started on the code ASAP and after spending considerable time looking at various technologies I've been down a few dead ends. Thus I'm opening up the discussion for the best way out of analysis paralysis.

Must have Technical Requirements

This is the biggest sticking point. The point is that a user experience should be possible with just HTML/CSS and minimal JS. If possible, the UI gets enhanced through client side JS or latest CSS etc. Most modern tooling is focussed on client side behaviour with AJAX or websocket communication to the client. While there is an interest in so call "isomorphic" code this is really just to get an initial page load from HTML for which the client side takes over, not a complete UX using only HTML forms and links.

After exploring many client side technologies and coming up with a short list of riot and possibly altjs we still hit PE as the problem. For example riot.js looked really interesting but it's client side rendering strips all event handling. Riact seems much the same and is also a much bigger learning curve.

SteveALee commented 8 years ago

JQuery Mobile

So jQuery Mobile is the only platform I've found that comes close to PE requirements.

Pros

Cons

I suggest we start with jQM, nodejs and Hapi.. Hapi plugins for components. Perhaps senecajs

Open Qs

SteveALee commented 8 years ago

After further review the status of JQM has become a concern. There's occasional message about a coming release and some project code activity. However very little public communication or collaboration.

There is also something of a backlash against pure client side SPA in conjunction with feeds. So called 'isomorphic' or 'universal' takes the approach of server side rendering and then browser SPA takes over if available. This gives Progressive Enhancement - though SEO seems to be the main motivation.

React + redux looks liek a better approach than many but in the end Reactive Programming with observables hits the sweet spot. RxJS and Cyclejs are the focus of much activity.

See wiki for choices