Front-end Developer Handbook
frontendmasters.gitbooks.io
frontendmasters.gitbooks.io
read online at:
• http://www.frontendhandbook.com
So I tapped the link. It opened a new tab with a brief page describing the three parts of the book, a headline and one sentence about each part. At the bottom it said:
read online at:
• http://www.frontendhandbook.com
So I tapped the link. It opened a new tab with a brief page describing the three parts of the book, a headline and one sentence about each part. At the bottom it said:
read online at:
• http://www.frontendhandbook.com
So I tapped the link.
Wait! Haven't I been here before?
There must be some other way to read the book.
Hmm... Some faint little gray icons at the top. Nothing there jumps out at me as a way to read the book. I keep wanting to go back to that compelling "read online at:" link.
But this time I skip past it. I go all the way to the bottom of the page where there is a faint gray angle bracket. What does it do?
I did it! I made it to the first chapter! Now I can read the Front-end Developer Handbook.
This is a true story. I really did tap the link that many times. I am not making any of this up.
But I think one should be careful about the distinction between front-end design and development. This book seems to focus on development, and as someone who's taken a couple of courses from Frontend Masters, I trust it to be solid.
I had a chance to work with Cody on the jQuery Cookbook, and he's a smart guy. So Cody, if you see this, my apologies for poking fun at your new book's mobile experience!
My chapter of the jQuery Cookbook had a much bigger blunder. In a "recipe" called Coding Bare-Metal Loops, I recommended a particular loop style as the ultimate in speed...
> Use a for loop instead of .each(). To iterate over an array, it’s hard to beat this loop:
for( var item, i = −1; item = array[++i] ) {
// do stuff with item
}
> But there is a catch: this loop works only if your array has no “false” elements, that is, elements whose value is undefined, null, false, 0, or "". Even with that restriction, this loop is useful in many common cases, such as iterating over a jQuery object.Well... It didn't quite turn out that way. This loop style can kick you out of the optimizer because it tries to access the nonexistent element after the end of the array. That's perfectly legal in JavaScript, of course - any nonexistent element evaluates as undefined - but code optimizers do not like it when you do that.
So a conventional loop turned out to be much faster:
Just like cotton in a bag isn't a comforter, a website with itsy-bitsy manuscript is not a fucking book.
So ...
> Poking fun?
Not at all.
Imagine an area of work that you have no idea about. Let's say Aerospace. If someone put together a set of links and categorized the stuff you need to learn to be able to work in the field, it is immensely useful since the simple listing of the things you need to learn about itself is a learning. A 0 to 1 bit flip. Though this post is not a highly curated handbook, it educates you on what you should Google about. That is a huge win by itself.
This is one hell of a resource.
Not a designer, you can work with a designer.
If you can't:
a) Tell me what libs your app requires & how to install them in a resonable way b) The privledges required to run said app c) The security implications d) How to scale your app, particularly what I need to do to get it to behave over multiple servers e) be resonably sure your code is working f) Write some code to automate the deploy of this.
Then you're probably just not that amazing of a developer.
- Avoid floats as much as possible. They are useful, but understanding where and when to use them takes time. Using display: inline-block will take you a long way.
- Height comes from the parent element, in general. A really common mistake is trying to do something like 'height: 100%;' when the parent element has a height of zero and not getting why it doesn't work. Here's an example that uses 80%/20% height layout, without any craziness: http://codepen.io/dazld/pen/jbrLoa
- Whitespace is important with inline elements. Trying to figure out why inline-block stuff has a gap? Check if there is any whitespace around the markup, remove it and see if that helps.
Playing with CSS & HTML is incredibly rewarding and fun once you develop fluency - and not as complex & arbitrary as may seem at first. Stick with it!
The CSS 2.1 visual formatting model specification no longer covers everything CSS can do, but I found it useful when trying to get a feel for what was going on back in the day: http://www.w3.org/TR/CSS21/visuren.html
There are two good things about jquery, flawed as it is — it lets you get stuff done without really understanding the details and it presents a usable idealized picture of what the DOM ought to be without pushing your face into the underlying mess. It also provides a pretty satisfying programming idiom for JavaScript.
There are enough native positions across all desktop and mobile platforms.
Reason: end of 3 year government project with embedded software (which I really enjoy but hate the tooling)
You might find some interesting stuff here from Qt World Summit 2015:
https://www.youtube.com/watch?v=FUlRqjeEzuc&list=PLizsthdRd0...
Whether it does such a person any favours in the employment market is another question as you can't build businesses on rare commodities.
Heroku and ActiveRecord with Redis helps mitigate that.
There's little of that in this handbook. Once you know how to program and understand computer fundamentals, then you can build good software and you can take that anywhere, from native apps, to front-end to working on distributed backends.
If you just learn the things outlined there you're probably going to build, slow hard to maintain barely functional applications. You'll struggle at most technical interviews, and you wont progress.
As an engineer, computer science comes first.
The author recommends three well-regarded books on UI design (I haven't read any of them, but I struggle on) but doesn't seem to have applied them to this handbook. Don't dump an unedited pile of crap on the user -- have an opinion and tell the user what you think they need to know, leave the list of resources to the end.
The problem with this thing is that it's not a "handbook", it's a collection of "useful" links.
The JS testing section is a good example. Pertinent summary of high level concepts before the fold. Additional content to read if you want to learn more.
https://frontendmasters.gitbooks.io/front-end-handbook/conte...
Edit:
By technology, I mean using a SPA for docs is silly. Not surprised the mobile experience is poor because of that.
https://frontendmasters.gitbooks.io/front-end-handbook/conte...
Well, if you chase the latest complicated framework, it will become more difficult to be a "generalist". As you become more aware of fundamental principles & patterns, you are empowered to do more.
it also does something weird, it prevents the browser address bar for scrolling out of view like it does normally when you scroll..
whatever this is, i truly hope what it teaches is not what the heck they're doing.
I understand front-end as any UX for application UI.