Do you start by building out all routes? Work from mockups or wireframes? UI first or logic first? TDD? BDD? MVP? Like starting with the data? Style early or late?
Open format, just curious what folks are doing!
Do you start by building out all routes? Work from mockups or wireframes? UI first or logic first? TDD? BDD? MVP? Like starting with the data? Style early or late?
Open format, just curious what folks are doing!
I’m quite new to ember (a couple of months) so my approach might be a bit naïve but I’ll share it anyways.
Before starting the ember part I’d get the a master template with all layout and styles ready to use as chunks for components and everything else. Then I create the ember app and install the addons I usually use, like compass compiler.
I build the app by sets of related features. So for each set I set up the required models, then make the routes and templates. I first take care of the presentation part, binding data from models to templates through the routes. Once that’s done, I start working on the actions, which is basically where most of the app logic takes place.
I test things manually while working on them, which is quite annoying at times. I want to introduce a test-driven approach to my workflow, but I still have to learn how to build appropriate tests suites with ember.
I’ve found this to be very feature-dependent. When I had a feature that was re-using some existing components, it was easiest to TDD it - write an integration test and then code until it was green. When I was breaking new ground, I found it easiest to write a straight-HTML template with a static mockup of what I wanted, put that on a route, and then move it into dynamic data one section at a time. Often I find it most useful to have the template (end goal) and API set up, so I can work towards connecting them from both directions.
+1 for working top-down.
I once made the mistake of trying to model the data and work upwards toward the interface. It was a nightmare.
Far more natural in Ember to do as @flashesofpanic suggests and work from the template down, breaking up the static template, creating routes, breaking reusable parts into components, and all the while pushing the dynamic parts further into the stack as you go.
I don’t even start with a model. Just return a few hard-coded objects from the Route. You can get pretty far before you start to need models backed with Fixtures or HTTP-mocks…