Web Application: Overview¶
The most comprehensive documentation for web application development is the Mozilla Developer Network (MDN) https://developer.mozilla.org/en-US/docs/Web
A web application has two parts: Server and Client.
Servers usually also communicates with a database (sql or nosql).
Note: If you are wondering how to deploy a node application, see this post http://stackoverflow.com/questions/8386455/deploying-a-production-node-js-server for some discussion.
Similarly, Data Servers (data service apis) communicate with database and serves data (json, xml, or even binary), mostly with a RESTful architecture (use HTTP for communication protocol). They ususally don’t assemble webpages directly.
To pair with any programming language, there should be a debugger and of course, a console. Modern web browsers do provide these as development tools.
Web APIs and their functionality¶
See a whole list of web api here https://developer.mozilla.org/en-US/docs/Web/API
DOM manipulation and data communication library¶
We’ll talk about web data communication in detail in another article, since it involves server side programming.
UI and widget library¶
Data Visualization Library¶
Web graphics basically includes two categories, 2D and 3D.
2D graphics (except simple <image> tag) is usually implemented by Scalable Vector Graphics (SVG). SVG is an XML markup language for describing two-dimensional vector graphics.
WebGL brings 3D graphics to the Web by introducing an API that closely conforms to OpenGL ES 2.0 that can be used in HTML5 <canvas> elements.
For libraries support, check out D3.js and Three.js
Web development framework¶
Higher-level integrated web development framework and tools are desired, to improve the overall application professionalism, especially for large and user-heavy web applications. A couple of examples:
- Sencha : Ext JS (desktop web app) and Sencha Touch
- Django : Python web framework
- AngularJS : From Google
- Express : web app framework for Node
A list of mobile app frameworks http://moduscreate.com/5-best-mobile-web-app-frameworks-ionic-angulalrjs/
Build and Task Automation¶
- Sencha Cmd toolset