Rapid software development
Post date: Sep 17, 2014 9:48:16 PM
been 2 years an active programmer, and more importantly dealing with the edge technologies, I kinda figured out how to develop applications for testing, small start ups and proving an idea... this does not mean that your final product will fail in a larger scale and at the production phase. Rapid development means using the edge technologies and frameworks and ease your development journey.
so, what should we do? what are the situations that your are going to face during the development?
A: choose the right framework and language, don't go necessarily with c++ or Java, find something that makes your life easy and scale fast... we have a lot of opportunities nowadays and if you are smart enough, you would want to try new technologies because old tech belong to the old times :).
B: if you are developing for mobile, try the common practice frameworks, give a chance to HTML5 and phonegap. you wont be disappointed...
C: choose the right backend. Surely you want to come up with a strong and easy to scale backend that feed your front end, whether it is a mobile app, or web. Keep the backend clean and separated from the front end. Mind that modularity is the utmost importance once you want to scale and rapid dev in a project. never leave modularity, encapsulation and creating your own packages and classes, even in the backend. these might help you to switch on and off modules and modify your backend in a some hours... The choices are many here as well, but I'd recommend to take node.js very seriously and mind that there are over 72000 modules on your fingertips while you are developing with node. Node and NPM make life a lot easier. In addition, please consider how fast and scalable is node and its non-blocking architecture makes it the best to deal with millions of users... Also check out node clusters....
For the framework, take a risk and have a look at the excellent deployd.com framework that help you build robust and secure backend in some hours... or if you want something more concrete that also bootstrap your frontend, then try mean.io framework.
D: hand on front end, never ever forget that front end dev does not mean you have to forget about modularity. Practice with the right frameworks suck as Angular.js or google closure. These might help you to stay modular all the way in your FN dev. If you are dev a portalish kind of front end for the web, then maybe you might want to consider angular.js for the controllers and twitter bootstrap along with bower to manage the dependencies... If you are hitting the mobile world, then the possibilities are wide, you can hand on with ionic framework, phonegap itself or native solution and even titanium.