

Ask HN: Frontend Development - The Right Way? - jhacks

I'm looking for a bit of guidance with frontend development.<p>I started out knowing very little... just a passion to learn and build my startup. I have been able to work through the frontend (I'm a competent designer) while my co-founder handled the backend.<p>I now consider myself comfortable with HTML, CSS and jQuery. However, while a mock frontend is getting there, it's obviously not enough. I started using jQuery to handle AJAX calls to load in JSON data. I quickly recognized it could get overwhelming, so I have decided to jump into Javascript MVC frameworks (specifically AngularJS). However, I feel like there are just a lot of basic fundamentals I'm missing.<p>After reading this http://blog.artlogic.com/2013/05/02/ive-been-doing-it-wrong-part-1-of-3/ and being directed to the ngBoilerplate build system (http://joshdmiller.github.io/ng-boilerplate/#/home) I realized that there were some things I'd never dealt with:<p>1. Testing. My "testing" consists of just reloading a browser page and reworking code until it works as intended. I know there are far more efficient methods. And I know that testing is essential (my co-founder writes tests in Rails before writing up functionality sometimes), but for frontend development when and where is it applicable? What framework (i.e. Jasmine?) to use? And I'm sure there questions I don't even know to ask.<p>2. Task Runner (ngBoilerplate uses Grunt) - a bunch of automation that I'm sure I'll want to use, but would love to know more about when and why.<p>3. Directory Structure - by file type or feature (ngBoilerplate suggests this)? Pros/cons? Best practice?<p>Obviously these are just the things included in ngBoilerplate I wasn't sure about. But I know there might be even more.<p>So, any help is greatly appreciated. It's a bit overwhelming as diving into the Javascript MVC stuff, but I want to make sure I have all the bases covered first. I think getting a stronger foundation will go a long way.
======
anonymouse123
My 2c:

Divide and conquer

Learning this stuff can get overwhelming pretty quickly if you try to do it
all at once. Especially when the new tech you want to learn has dependencies
on a million other things that you also discover need learning.

Start with a high level overview of what you need to learn to get the picture
in your head, think 'shallow but wide'.

Then pick out the main concepts (eg MVC) and learn about that, so you have an
idea of the reasons for the way things are being done how they are.

Next pick the specific framework - start with the basics for the
-dependencies- for it; there's no point in working through a tutorial if you
don't have the assumed knowledge. And then move on to progressing through
learning the actual framework.

Don't forget Stackoverflow - you'll be able to find answers there. Any most of
all, good luck!

