I think the web really needs a fresh start before I would even consider becoming a web developer (I'm a CS student atm)
Right now, web is the best place for my app to be (assuming I can figure out offline support), but I tear my hair out every time I run into one of these issues. Just the other day I had some bizarre issue where offsetBottom and offsetTop + height were returning contradictory values, or something like that. And that was with jquery helping me. The web platform is cool for what it enables, but stinks for what it makes you do to get there.
Front end tools aren't perfect but that's why they've been iterated upon. And what language doesn't have shortcomings? It's amazing that people have created these tools that are flexible enough to be used in seemingly infinite ways without being too narrowly focused or being all things to all people.
But I think I'm getting ahead of myself. Where's the mess you're talking about? This is a common thing to say among non web devs but I never can get any specifics. If you approach front end development the way you would back end or desktop development you're going to have problems. It's a totally different way of thinking.
As for JS itself, I'll just defer to Douglas Crockford and the infamous wat talk: https://www.destroyallsoftware.com/talks/wat .
If you want more, the HTML and SVG DOMs are not properly integrated. It turns out to be nearly impossible to have a functioning textarea inside SVG, or indeed any form of wrapped text. God knows I tried with Chrome and Firefox, and apparently it just gets worse with IE. I'm sure I'll encounter more irritants as I go on, or maybe someone else can chime in with something specific they encountered this week. Probably the reason you don't hear more specifics is that most of the irritations fade into the background as you work around them, leaving only a vague dissatisfaction.
Now granted, this is all much better than nothing. I know the web has enabled all kinds of cool things, which is the only reason anyone bothers to develop it. But I think it's absurd to call front-end dev a "solved problem", at least in any sense meant to silence pointing out potential improvements.
I guess the reality is that technology evolves at a quick pace. If you want to develop anything user facing, there will alwahs be some hot new thing to keep up with. In the 80s it was the desktop GUI, we got the web in the 90s, the 00s gave us smartphones, and in the 10s we'll start using ?? ? Holodecks?! My only point is there will always be something to keep up with it when developing a UI.
By that I mean you either find compilation list like that or full stack framework but what a would personally find more useful would sets of cohesive tools, end-to-end.
Sure there are boilerplates out there but what I frustrating is that you hardly find "full stack" one. For instance what about a boilerplate for django + django-rest-framework + backbone.js + marionette + i18n tools for backend and frontend + manage.py-grunt.js integration + optimisation tools for css and images + ....
Yes, there are endless possibilities, the more the reason to find more of those out there don't you think ? Maybe it's me but I feel like there is either something missing, too much choice or both. I18N being often the most neglected (granted, it's harder)
What do HNers feel about that ?
If you think something is missing, please send a pull request.
https://github.com/dypsilon/frontend-dev-bookmarks
please update your bookmarks. Pull requests are welcome.
In a way shame this hit HN on a Saturday, this is one of those lists people need to find when sitting at their desk.
I've been all over the animation section. Great stuff in there. The whole list is phenomenal.
I'd better use github's search.
It's tough because : 1. There is a lack in uniformity: you have CSS solutions, jQuery extensions, node.js packages, articles, books, videos and so on. 2. Every bit of information you include makes the list bloated. I think it's enough to have the category, a link, and maybe a short description. If I need a template engine for a project, I will click on every link and look through them anyway.
Please make a suggestion how you would like this list to look.
So I created this list to not have to go through step #1 and #2 every time.
Great resource, but wouldn't a collaborative wiki be easier - or are such lists maintained for the original author's reputation not to become a fount of collective knowledge?
EDIT: found him on twitter and contacted him
Otherwise good list :)