

Web application development workflow with Node.js and Git - gelnior
https://gelnior.wordpress.com/2011/12/27/web-application-development-workflow-with-node-js/

======
brador
Hmm...I normally start with backend and do the UI last, since the backend it's
then easier to add features on a whim.

Is it common practise to do the UI first in some parts? Does this not cause
problems when certain features get dropped?

~~~
gelnior
Before doing BDD, like you I was working on backend first. Since I experiment
BDD, when I work on backend, I have switched my mind from "what could be
useful ?" to "what is really needed ?". Writing UI first helps me to find the
answer.

I am not sure that writing UI first is a common practice, but it fits good
with development of web application which relies a lot on UI.

------
eliben
Why do you emphasize Git in the HN link? It seems you use several key
technologies for the demo - Backbone, Coffeescript, etc. Git is just a VCS, so
why did you feel it necessary to emphasize it?

~~~
gelnior
I emphasize it because Git changed a lot my workflow since I use it. Before
that I was a SVN user and I commit only once I finished a feature (or
sometimes several features...) and I almost never did any branching either.
Perhaps that saying DVCS instead of Git would have been better.

~~~
eliben
I don't have anything against Git, but it just appeared irrelevant to the
listing of technologies you used for the actual coding.

You could have branches with SVN too, by the way. And commit often. But you've
switched to Git already, that's good. Stay there :)

~~~
HalibetLector
I appreciated the explanation of how he uses git in a workflow. Everyone does
things differently and DVCS is not just "another VCS". Treating git like you
would treat svn is a recipe for heartache.

------
swalkergibson
Awesome! I have been looking for some best practices for merging all of these
toolsets. One thing that continues to escape me, however, is building a
succinct directory structure for JS applications? I cannot seem to wrap my
mind around the exports idea...

~~~
gelnior
Yes, I had the same problem. Ponyo (example application) code on github can
give you some hints, I tried to make things clean and as light as possible.
<https://github.com/gelnior/ponyo>

For client-only JS applications, have a look at Brunch framework. It is really
good to structure your app (Ponyo client side is based on it).
<http://brunch.io/>

------
fosk
UI first: also called "top-down" design.

------
xxiao
<https://github.com/gelnior/ponyo> npm install coffeescript

should it be : npm install coffee-script?

~~~
gelnior
Thank you, README is good now.

~~~
xxiao
need add one more line: npm install stylus

plus, as a quick test, it did not work for me, i.e. after I enter a category,
then press 'add', nothing happened.

~~~
gelnior
Did you install mongodb ?

~~~
xxiao
you're right, now it works. thanks!

