views:

155

answers:

5

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.

A: 

First, I see if there is an open source variant close enough that I can use as a base of work.

If that fails, I try and find a framework that will suit. Generally I will stick with the one I know, unless another one provides better support for a functionality I need.

For example, I've been using Kohana for PHP, but I am considering switching to Zend for Zend_Translate for a new multilingual site (I havn't looked what Kohana offers yet, btw)

alex
I'm not really worried about the technology to use, I'm mainly looking for some guidelines on how to conceive the web app before starting to code it
Sylvain
Try and get as much information as you can - Things are much harder if you're expected to start coding with only 'half the picture' as I sometimes have to.
alex
A: 

I like to start with a story board. I use mock screens for the examples.

northpole
A: 

Try to write a bit of a functional specification, just something simple to capture in writing the different functions that the app will have to handle. Once you have this done, you can sit down and work out what framework / language / platform / etc. best suits your needs. At this stage mockups will also help - try to find out exactly what screens you need and what information has to be on each screen - don't worry about the layout, just the necessary information. From there you can go on to coding up each of these screens - make sure that you only provide functionality that is in your design - there's no need to overcomplicate things just because you can.

a_m0d
+1  A: 

I find this article very resourceful.

Hope it helps :)

Structured process you must know to develope a web appplication

SteD
A: 

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:
http://stackoverflow.com/questions/773715/which-is-more-important-db-design-or-coding
http://stackoverflow.com/questions/329160?sort=votes#sort-top

In regard to the tools, here is a thread:
http://stackoverflow.com/questions/214057/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.

Demi