I have agreed to implement a system which is heavily client side, although my main experience is with decades of embedded s/w and a few years of server-side PHP.
I have implemented one reasonably complex client-side project, using AngularJS - a sort of fleet management thing, fetching data on vehicle movement, displaying Google maps and showing the data in grids with data-bindging. The Single Page App had 3 or 4 main tabs, each with a few sub-tabs, so it was reasonably complex.
However, it was tough going and I spent more learning curve than I had wanted to, plus as it was never deployed in anger (just test mode), I can't be sure if I missed a lot of stuff, probably related to security.
Now, I have agreed to do one for a friend's business, and am not sure which JS framework to use.
I have used Delphi & other such RAD IDEs since it first came out and can appreciate how that can save development time. I am afraid that it might compromise flexibility, though (which Delphi doesn't, but it has been around for decades).
This blog post got me thinking about Sencha-Touch - until I saw the price! No way my friend will spring for that & I'm not buying it for him.
So, what are my options?
MUST:
- be free or sub $100 for commercial use
- support 2 way data binding
- easily, hopefully automatically, configure the MVC, setting up routing, controllers, etc - have good report generation capabilities
- have quick & easy charting, the more eye-candy, the better (grids, histograms, pie charts, Google mapss, etc)
- good AJAX connectivity to my server-side PHP
- good community support & lots of tutorials & examples
- must be stable
- must be extensible, so that I can add code & 3rd party JS where missing
- must be RESTful and have/generate responsive HTML/CSS
Nice to have:
shallow learning curve
standard log-in & session management
- maybe some form of security?
- RAD GUI design (drag & drop, if possible, easy preview if not)
- export report data to CSV
- a unicorn would be nice
Note: although browser based, this is intended to be used on 'phones and tablets, rather than desktops (which should not, of course, be precluded).