4 ms·
> It's a different approach that especially fits applications that hold most of its logic in the frontend, where the user experience is the most important featu
by onemorepassword 13y ago
> It's a different approach that especially fits applications that hold most of its logic in the frontend, where the user experience is the most important feature.
This is the part I have a bit of an issue with when it comes to all the hype about front-end development. I've been involved in web development since 1994, and software development since the 80's. I've so very, very rarely encountered applications to which this applies.
When I mention this, people come up with examples like GMail or Twitter, obviously not understanding the the front-end part, however impressive in the case of GMail, is just that: a front-end, a client for an application so much more complex.
I sometimes feel front-end experts have no idea about what happens on the back-end. All those API-calls are not being handle by some magic genie.
Or maybe I'm wrong and I've missed something essential.
- ryanSrich 13y ago> All those API-calls are not being handle by some magic genie But they're there. You implement what they do on the front-end. Think of any application you interact with on a daily basis. The tasks are very front-end oriented. I can only think of a handful of applications I use that have a robust backend for an apparent logical reason (image recognition and pdf parsing). Most of what we do on the web can and will be handled on the front-end.
- asolove 13y agoI think that your point of view is actually a really good reason for front-end-first development. As a front-end developer, I accept that the back-end portion of modeling, storing, and scaling the data is a much harder (or at least much different and very hard to me) task that generally requires much more investment before you get much useful feedback. So when working on a new product, it's worthwhile to build as much of a facade interface as you can to quickly and cheaply explore how it feels to use the product. Then you can iterate rapidly with something concrete in front of your stakeholders, and when they're happy, you can just build the back-end once, from a solid foundation of domain knowledge. It also works out well socially. Some people (who tend to congregate in front-end) work well with vague ideas about a user experience and instructions to explore the product on their own. Others (who congregate in back-end these days) want firmer ideas about the product and usage so that they can exercise their creativity in solving the technical problem well. Front-end-first is a great way to let everyone do the part of the job that they like.
- onemorepassword 13y agoThe word you're looking for is "prototyping". I'm not being sarcastic (well, okay, a little), I pretty much agree with most of what you wrote (of course depending on the project at hand), except the notion that this is something new. Also, just working on the front-end/user experience doesn't give you, and certainly not the back-end developers, a "solid foundation of domain knowledge". That only happens if they are deeply involved in the same process, and front-end-first suggests exactly the opposite. A front-end, no matter how wonderful and detailed, is still way to vague to serve as specs unless the application is very simple.
- sanderjd 13y agoWhat separates this idea from prototyping in my view is that they are suggesting keeping the "prototyped" UI as the real deal and then building a back-end to support it, rather than re-building the front-end along with the back-end. The back-end is developed using all of the well-documented places where the front-end needs support as a spec.
- Ixiaus 13y ago"Build the backend once" is a silly notion; software is never static; neither the front-end OR the backend. I can appreciate the front-end-first philosophy, and can see it working well in an environment where you what to build something to "show off" (kind of like WordPress templates that you can "demo"). It might even work fine for something like AirBnB in which the bulk of the application is just a CRUD mesh. I cannot see it working well for any startup that relies on technology that requires a careful and thorough iteration of its foundation (backend). Once the backend is built with a solid RESTful interface, it's trivial to write the front-end and you can A/B test the shit out of it, do white-labeling, try different workflows and UX experiments all while only making tweaks or small additions to your backend (of course excluding major deep-feature development).
- saraid216 13y agoIs this about you not getting the credit you deserve, or is it about building the best application possible?