Web Development Framework Choice

I have completed ‘Web Development with Flask’ and ‘HTML&CSS’ paths at Codecademy. I am building my own web-application now. It is almost complete. Back-end is finished. Front-end is half-way there. My friends suggested that before I complete the font-end I go and learn JavaScript to make the visual appearance better. I’ve just had a look at JavaScript course and its estimated time is 30 hours - this is just the basics…

My question is: why is JS considered to be a better styling language than css? I have done a lot of research but I never quite got a clear answer. 9 out of 10 blogs say that JS is better for animation (that’s obvious and that’s true), but what about the rest? Is creating cool animation the only reason to learn JS?

Any help with suggesting why JS, or CSS is better in a (relative) field would be much appreciated. I am very new to Web Development, and it would be great to get advice from experience web developers. Thank you for reading to the end.

I’ll give you my two cents on this matter.

I personally could never be bothered much with front-end development. I design user interfaces with HTML and CSS. Because front-end ain’t exactly my cup of tea, I was never interested in delving too deeply into JS frameworks (usual suspects being React, Vue and Angular).

Now though, the thing with JS is that it enables you to add interactivity and convenience to your interfaces. Say, for example, that you wanted a comment section on your blog articles. Upon submit, rather than reloading the entire page, it’s much nicer to submit the form through AJAX and only the comment section would be reloaded. The result is immediate, no reloading of the page. That’s pretty cool, but it’s also what users have come to expect for a good few years now.

So do you absolutely need a JS framework to accomplish this? In a professional setting, probably, yes. It’s the current standard. Knowledge of these frameworks is not only in high demand, it’s a common requirement. But for your own smaller projects, you get to decide.

Vanilla JS (no framework) can accomplish the same stuff. And then there’s this convenient library, jQuery, which could be summed up in a few words as being

jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.

Sounds like everything I need then. It’s JS, but its syntax has been simplified. It’s easy to learn.

Only downside? It’s an old library. It’s very rarely used for new projects in big 2020. You’ll find it mostly laying around legacy codebases. Purists love to criticize it (because of the suspects mentioned above).

But for smaller, personal projects, nothing comes close if you don’t want to invest too much time in learning the overly complex JS frameworks that pop up every other month.

I’d advise learning JavaScript. It’s useful and pretty much required now. Then, if you want a simple solution to add some interactivity and convenience, you can use jQuery.

But a better styling language than CSS? I’m not convinced. To each their own, I suppose. JavaScript has been way overhyped, so much that people forget it’s a crap language (personal opinion).


@ghostlovescore Thank you very much for your answer - it was super helpful and informative! Since it is a requirement nowdays and I want to build a good application I will learn JS. I have read the article you attached but I am confused by one thing - why is JS so bad and people hate it (I do not know because I just started learning it) and if it is that bad what is the alternative to use?

On this note, I also wanted to ask a more generic question: is Flask back-end and CSS, HTML, JS front-end a good set-up? The reason why I am asking is that I have read plenty of blogs and articles that discuss the ‘best’ frameworks for web development. The vast majority does not even mention Flask, it is predominantly Angular, Node, React; sometimes Django. What is the best (in terms of robustness) combination for front and back-end?

1 Like

Some people hate it. Because, historically, it was pure and simple rubbish. Developed in 10 days.
Of course the language has evolved and is today a viable programming language. I believe Netflix uses that for its back-end. Some people absolutely adore it. But there are still quirks to the language that are there and that just plain and simply don’t make sense (don’t have the list on top of my head, and I’ve stopped caring if I’m honest). It’s also a matter of preference. You like it or you don’t, I suppose. Similar criticism is often thrown at PHP, some of it being true, some not. But I love PHP, for example. Matter of preference, I guess? At the end of the day, though, absolutely no language is perfect. They’re merely just tools we use to create cool stuff. Isn’t that what it’s all about anyway (or should be)? I don’t like JS, but I’ve used it to make user interfaces more convenient and interactive. And, yes, it was fun.

We shouldn’t care too much, or get too attached to these things. But we’re only human, so…

Someone correct me if I’m wrong but for web development, I don’t think there’s a viable alternative yet. People are throwing names such as TypeScript, Elm or Dart nowadays, but I couldn’t say. WebAssembly could be here to save the day (it’s early days). But for now, we’re stuck with JavaScript.

But, yes, if you want to build a cool web app, learn JS. Besides, you never know! You might come back to this thread later and tell me I was wrong, and that JS is in fact awesome!

HTML, CSS, JS – you simply can’t go wrong. Use a JS library or framework, up to you!

Flask back-end. I think so? I don’t see why not. I’m not too familiar with Python frameworks because I have very little interest in Python. But I know some users on here use that, and Codecademy has a course for Flask – if it was bad, I don’t think people would be teaching or using it.

I’d advise against contemplating whether you have chosen the right languages, frameworks, etc. At least avoid spending too much time thinking about it, because you’ll just waste time reading up posts and articles from people having very different opinions and tastes.

For example, I like neither JS nor Python, but why should I tell you not to use that – or anyone else, for that matter. See what I mean? It doesn’t matter. What I can give you is hard facts:

  • Instagram uses Python
  • Google (Youtube)
  • Spotify
  • Quora
  • many others…

and that’s (more than) good enough for me. You’re future-proof with Python, at least for the foreseeable future. And Flask, I believe, is a good first choice. Django might be more popular in enterprise, mind. But should you transfer your skills to another framework (or even language) later, I don’t think you’d have much trouble learning the new stuff. Besides, it’s good to keep up and keep evolving with the times.

Don’t bother with those. Which religion is the best, and which should you pick? Endless debate. Same goes for the programming world and its endless list of languages and frameworks.

If you enjoy your current set-up, stick with it :wink:


@ghostlovescore Thank you very much for a very comprehensive response - it answered all my questions! I will try to learn JS in 3-4 days in terms what I need to know to start making simple interactive design and will let you know how I find it.

It may sound silly but thank you so much for clarifying that there is no the best setup - only the opinions. Honestly, you convinced me to stop worying about choosing the best frameworks in one line, respect! I will just use whatever floats my boat! Once again, thank you very much for your help - your replies are definitely the most usefull I have ever got!

1 Like

Really happy I could help!

Feel free to come back here to let us know how things are progressing with your project!

1 Like

Will do! [Just filling this to satisfy ‘20 character’ requirement…]