I'm a successful front-end developer and I really don't care about any of this stuff.<p>This is one of the last manifesto's I'd personally subscribe to.<p>In fact, I feel sad for anyone who takes front-end development this seriously. This is a field that exists because of fragmentation and the strange place that the web has arrived at.<p>On the whole, we aren't solving interesting problems. We are building what someone else has designed and then patching that build across devices and browsers. Sometimes there are fun problems to solve while doing that, but its nothing compared to what we could be doing as programmers.<p>I get paid well to make applications work cross device and cross browser, and I have an extremely flexible work environment. That is why I work hard. Not because Tom from Oklahoma is going to have a slightly better day because he doesn't have to figure out how to get on with his life when the site I'm working on doesn't break on his particular device or browser.<p>Look up at the stars. Think bigger.
"I will learn at the root, not the abstraction:
JAVASCRIPT BEFORE JQUERY"<p>I'm not sure why one high-end abstraction finds favour over another slightly higher high-end abstraction, but this sure sounds a lot like the people who insist that you can't be a good programmer unless you've learned some kind of assembler.<p>On the "shoulders of giants" means we don't need to know javascript as well as jQuery. It means we don't have to know assembler as well as pascal. It means that we don't need to learn IP when we can just learn TCP/IP, and we don't need to learn TCP/IP when we can just use REST over HTTP.<p>Learning at the root goes a lot further down than you want to go, need to go or are capable of going.
<i>I will choose the RIGHT TOOL FOR THE JOB</i><p>So just put this in a full static page. Why the scrolling? And also color/font choice is quite terrible. No responsiveness for small screens. Apparently, he didn't follow his own advice.
"I will educate my friends and family that WEB BROWSER CHOICE MATTERS"<p>and<p>"Most importantly and above all, I will put the needs of the USER FIRST over my own needs as a developer."<p>So please do, put the needs of your USERS first. Your users do not NEED to be educated by you. It is not your business what browser they use.
"Without JavaScript or CSS, or without mobile Webkit, my site may not look pretty but will still be functional."
There goes backbone.js and other javascript MVC patterns.
This is something I'm still unsure about.<p>What do (you) people think of keeping your "data out of the DOM"?
anyone more interested in the "brain hemispheres" bit (<a href="http://f2em.com/#brain-hemispheres" rel="nofollow">http://f2em.com/#brain-hemispheres</a>) should check out Miyamoto Musashi's collection of writings called "The Book of Five Rings" <a href="http://en.wikipedia.org/wiki/The_Book_of_Five_Rings" rel="nofollow">http://en.wikipedia.org/wiki/The_Book_of_Five_Rings</a><p>Just some great writing on this idea of being a "balanced" human, and how that influences, informs, and improves your skills. His skills were as a samurai, but the principles apply pretty universally. I got a lot out of the book, you can find it free on iBooks, Kindle, etc.<p>EDIT
wow, I actually didn't find a free version on Kindle, but here's a few formats for free from Archive.org -> <a href="http://archive.org/details/MiyamotoMusashi-BookOfFiveRingsgoRinNoSho" rel="nofollow">http://archive.org/details/MiyamotoMusashi-BookOfFiveRingsgo...</a>
> Without JavaScript or CSS [...] my site may not look pretty but will still be functional.<p>For what reason exactly? Of course there are cases where it makes sense to follow this rule, maybe even the majority, but having it as #2 in your manifesto will severely limit what you can accomplish on the web.
I'd expect an article titled Front-end engineer's manifesto to have better UI than this. First thing I assumed was that I could use up, down in my keypad to navigate through slides. Then right, left. Figured scrolling is okay.
The sidebar that's supposed to show me how far I've read isn't apparent. The font choices and responsiveness coud be better.
Reinventing scrolling isn't good. I'd have been fine if it worked for me on Chrome, it got stuck in page 4 and 5 and I had to press j/k few times to get moving again. If there's a tool that takes care of kind of stuff and frees you to do important stuff, why not use it? On that point, checkout impress.js for this kind of stuff.
Progressive enhancement is the main reason HTML-based apps can't compete with native apps. Progressive enhancement is synonymous with not pushing things forward.<p>I know of at least one stealth startup who have built up a javascript library that is indistinguishably performant with native apps, but that performance comes at the cost of progressive enhancement. It's a tradeoff worth making.<p>I believe in an open web too, but one that is as powerful as native apps, not a crippled second-rate one that loses users and developers to proprietary platforms. Any browser feature that developers find useful and actively adopt will quickly be incorporated into the remaining browsers.
This rubs me the wrong way for some reason. Maybe it just sounds really pretentious(?) In the end front-end (or any other) development exists to create services for the users, not for it's own sake as a philosophy or something.
Please read the associated blog post that went along with the site. <a href="http://www.zachleat.com/web/manifesto/" rel="nofollow">http://www.zachleat.com/web/manifesto/</a><p>"I’ve been reluctant to share the slides because I certainly don’t want developers to take them as dogmatic truth. Rather, I’d love for people to see a forest using trees they’ve planted themselves."<p>Certainly scrolling could be improved. I'll definitely look into improving the performance. I honestly had no idea this slide deck would get this much attention.
Here's a manifesto: do your job, do it well. Some tools/ideologies will work better for you than they do for others. Strive for perfection, accept reality.