I would like to know which steps and which concepts do you follow when you’re starting a web application from scratch.
When you’re asked to develop a new web application and the only thing you’re told is which features are wanted, how do you do ?
How and in which order do you conceive all the different layers in your application, from the database design to the UI design, without forgetting the back-end …
Which tools do you use ? which rules do you follow ?
Thanks in advance.
Any answer to this question is exceptionally subjective.
In regard to how and in what order, you can refer to these threads, which are clearly inconclusive:
Which is more important? DB design or coding?
https://stackoverflow.com/questions/329160?sort=votes#sort-top
In regard to the tools, here is a thread:
What do you use for web development and why you think it rocks?
The rules you follow are partially tied to the tools you use, and partially tied to the design you choose. You should have a sense of the benefits and limitations of available frameworks and tools to do what you need done.
In designing the app, you can do as much pre-planning as you feel is necessary to understand the problem (i.e: story-boarding, ui mockups, entity relationship diagramming, functional specifications, etc.). The goal is to know what problems you are solving and what interactions you expect the user to enact on the application, and then use suitable technologies to achieve that goal – optimally in the most efficient and flexible manner possible.