|Front-End Web Development|
Author: Chris Aquino, Todd Gandee
A Big Nerd Ranch book is big - is it also everything you need to know about front-end development?
Front-end development is a fairly new subject. It is essentially creating programs in the browser that the user interacts with. The back end is the software that runs on the server that interacts with the front end software. The biggest problem with front-end software development is that you need to know what is going on at the back-end to interact successfully with it. This book focuses on the art of front-end development and takes the back end as mostly someone else's problem.
This book is an odd mix of the very simple introduction and the very complex examples. It is a bit like learning that atoms exist and then tackling a project to build a nuclear reactor. Yet there are plenty of places where it isn't for the expert either because it explains some very simple things. The book starts off with setting up a development environment and the choice is the trendy Atom editor - does no one use an IDE any more? This also means you have to install Node.js, which is in some ways the opposite of front end.
Chapter 2 gets started with the technology and we have a very simple introduction to HTML and CSS. For me it was far too simple and far too incomplete to be helpful. We also meet the first of a number of largish examples.
The book proceeds by introducing some very simple things and then launches into a big example that often makes use of much more than has just been explained. It can also be difficult to see what is going on because there are many lines of code. This is learning by example and not learning by concepts. As long as you are happy with this approach you will get a lot out of this book but you will have to work very hard. A concept based approach doesn't suit everyone but when it does it usually succeeds in transferring the knowledge and skill much faster than simply working though examples.
Chapter 3 is a scatter gun introduction to CSS. You get some very basic ideas, a lot is introduced that isn't explained and if you don't know about selectors and the ideas of CSS all you are going to get from this chapter is a collection of seemingly unrelated techniques. The reason for this is that only things that are needed to implement the example are explained - or rather demonstrated. To give you some idea of what goes on there is a section a the end of the chapter titled "For the more Curious: Specificity! When Selectors Collide". To my mind the way selectors work is central to mastering CSS and just to put it in as something for the curious at the end of the chapter just doesn't do it justice.
Chapter 4 deals with responsive layouts, which is a difficult topic. The flexbox is the main topic. Chapter 5 adds media queries to the mix and it has another "for the curious" sections which I think should be covered as a central concept in the chapter.
Part III of the book is about real-time data but it really doesn't seem to be a focused as this suggests. Chapter 15 is about using node.js which is, as far as I'm concerned a back-end topic. Chapter 16 is about WebSockets and 17 and 18 are about ES6.
Part IV is called Application Architecture and it covers the usual topics that are relevant to the MVC model. Chapter 19 is about using Ember for MVC; 20 is about routing; 21 is about models; 22 is about data adaptors; 23 covers Views and templates; 24 controllers; and 25 is about components. A short Afterword wraps up the book.
The most important thing to know is that this book is light on explanation and heavy on example. It really is learning by doing and for me this is inefficient, slow and tiresome, but if you want to learn n this way then this is a good example of the method. As a result I can't recommend this book but I have given it a reasonably high rating as a good example of learning by doing.
Reviews of Big Nerd Ranch Guides
|Last Updated ( Tuesday, 06 June 2017 )|