4 ms·
I am new to front end development - javascript and html. I am dismayed at how slow and unproductive I am trying to develop simple web apps. People advise me not
by lacampbell 10y ago
I am new to front end development - javascript and html. I am dismayed at how slow and unproductive I am trying to develop simple web apps. People advise me not to use jquery anymore because ES6 makes it redundant. But I am not sure.
I don't know if I want a framework, but I do want a library that lets me write less code, rather than solving boring problems that I am sure have been solved a million times before. But I guess at the same time, I want a fast loading web app. Where's the balance?
Interesting bit about the javascript transpilers. Some of them look cool, but I don't know how much static typing I need in something I am constantly refreshing and prodding. And it's another layer of complexity..
- pjmlp 10y agoDeveloping JS + HTML + CSS applications on a stack created for interactive documents, feels like stone age when compared to the RAD GUI tooling of the 90's. It always feels like an whole generation was raised on the web without ever trying out proper tooling for native development. For me it feels like a Roman taken from the apogee of the Imperium time traveling into the middle dark age. EDIT: CS => CSS
- rimantas 10y ago> whole generation was raised on the web without ever > trying out proper tooling for native development. What's worse they try to drag this into native too. I am tired of repeating: do try and find out what native offers before bringing your crap into it.
- boyter 10y agoTry mithriljs. It's the same idea as react for the view. I was having the same experience as you setting up angular and react applications and wanted to go back to jQuery. Having done some react I wanted something similar that I could use the chrome debugger in easily and didn't require any transpilers. Very impressed with it so far. It only took a few hours for me to grok the documentation and start feeling productive.
- Noseshine 10y ago> I don't know how much static typing I need The advantage of a type system is that you can restrict what you can do - which is a good thing. If you had to paint something, it's much easier to add some shadow or improve or add a detail in an existing painting compared to getting the full freedom of a blank white sheet. Any design act, art or engineering, means to slowly restrict yourself more and more, until you came down from a universe with an infinity of options to having only one left. A type system installs roads and rails, you still have the freedom to move but only on those roads. You have to install restrictions in any case: In your code, in your head. The type system makes them explicit, meaning they are easier to share in space and in time, with yourself (a week or a month later) and with other people. Yes, it's one more tool to learn, but there is a reason it was invented instead of relying on "just code" and context. The good news: You can start simple and easy. No need to use complex type definitions right away. A lot of what the type system does is make restrictions explicit that exist anyway.
- lacampbell 10y agoTo be clear - I wasn't discussing the merits of static types. They are useful tools, and - all else being equal - I use them where available. It was more weighing up the cost benefit analysis of using something like Typescript, which would increase the complexity and the "cycle time" mentioned by the author.
- Noseshine 10y agoAh yes. Add to that that you have to choose between TypeScript and Flow - not as easy as one might think. Normally I go with the more wide-spread tool, but Flow has some good arguments on its side too, for example that it's "just types".
- Cthulhu_ 10y agoMost of the utilities - selectors, animations, xmlhttpwhathaveyou - have in the past ten years been moved from jQuery to being natively supported by browsers, so with that in mind, html5/css/es6 has made jquery obsolete - see also http://youmightnotneedjquery.com/ http://youmightnotneedjquery.com/ and similar sites. The balance, it depends. I think the main value in opinionated frameworks - and typed languages - is in large applications, multi-person and multi-team companies. Re: the article, 'vanilla' JS / jQuery does not scale to more than 10K LOC - if you are at that level, you're already building your own framework basically (NIH). Angular and other SPA frameworks are intended to help you not do that. More importantly, they imply a certain way to structure your application which others - that are added to the project later - can get up to speed a lot quicker than when you've rolled your own framework. No, it might not be for you if you're a 31337 rockstar programmer that only works on their own projects and has never worked in the same codebase with other people, but if you're working on serious applications with a serious team, consider using an opinionated framework and a more restricting language.
- lacampbell 10y agoI have to say that visiting http://youmightnotneedjquery.com/ http://youmightnotneedjquery.com/ has had the opposite effect on me. I may not need jquery, but I sure as hell want it.