Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have agreed to implement a system which is heavily client side, although my ma

ID: 656990 • Letter: I

Question

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).

Explanation / Answer

Since you already have some experience using AngularJS, it may make sense to continue use of that framework for your new app. Angular is one of the most popular JavaScript frameworks for good reason, and it's not just due to Google's support. Indeed, compared to other frameworks, Angular is considered to be one of the easier ones to begin using.

Let's look at a few of your listed requirements with Angular in mind.

Angular uses an MIT License, so you don't have to worry about costs.
Stable and flexible. Works well with other libraries.
Excellent documentation due to a robust user community
Two-way data binding.
Several ways to make AJAX requests, including REST.
Can work with D3.js for data visualization

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote