So many JS Frameworks, So Little Time

There are dime-a-dozen Javascript frameworks.

If you are like me and like to tinker with things but don’t let them get to you – there is a constant dilemma.

  • Which framework is current? Which isn’t?
  • Are you going to be left in high water in a year if you use that?
  • How easy or difficult is to learn stuff?

Javascript frameworks have their army of supporters and haters. Coupled with zillion learning sites, blog posts, and the necessary intrusion from other technologies (thank you, Flutter & Dart & RoR), I always get confused on where to go next.

And – I might add – I don’t make things easier by not using Javascript for weeks or months in the interim. My day job is to “manage” (= do/be stupid) things.

Javascript Frameworks – the confusion

I would love to learn all of the world. Or, at least pick up one framework so that I can “just get” all others by looking at their source code – prove that I am an implicit Javascript Guru.

Sadly, I do neither. All I have are challenges and questions galore –

  • What am I going to do if the world ends before I get my application out (this can happen quite easily with me)
  • Full fledged, full stack frameworks – are they in / out / somewhere in the middle? Did she just vomit by hearing the word ‘full stack’? Does anyone do Meteor anymore? Would I be committing a sin by mentioning the M word?
  • How do I even stitch my ‘ah so sexy’ front end with the ‘ah so nasty’ backend? Do I have enough boiler plate code? Do I manage the data store on client? How many technologies do I learn before I become enlightened?
  • What if I switch databases while I wait for super-duper ACID support in Mongo? What if I want to suddenly switch to PostGRESQL because I can, and probably should? Will my backend go kaput before I even write the word ‘post’?
  • Should I be even considering JS for backend when I have ‘ah so super’ languages like Python, Ruby, Go, or uh.. PHP, doing such stuff?
  • Will my shared server that costs me a huge $2.5 /month fall in love with the server tech? Or just roll-over and die?

Realization

After so many useless thoughts, and weeks that could have been better spent coding, I don’t come to conclusions. But, I do have my mini enlightenments..

  • It is freaking difficult to learn everything in one go (duhh..!). Hobby project? Consider NodeJS – period.
  • Bioler plate code and framework of frameworks get in the way. Find boiler plate getting too ugly? Ditch the framework.
  • Add-ons and supplements can make life hell if you don’t know what you are doing (well, I normally don’t, and thanks Redux for delivering the message from Satan)
  • No community? No go. I like you Dart but there are too few people talking about you and there is no love. I am on my own with issues and the lack of example code gets to me.
  • You may even like frameworks to be opionated. Forget all about ‘unopionated’, ‘opionated but in a good way’ BS. If you are a learner, you would want to use the framework in one way and get stuff done.

The One Recommendation

Considering all this and putting my under-wired brain on the overdrive, what would I recommend this 18 of February, year of the Lord 2018?

NextJS!

No overstuffed boiler plate. No harnesses that you have to code yourself. No nothing.

You learn NextJS, you learn to get stuff done.

  • Clean code – focus on application, not harness and boiler plates
  • Your pages get rendered in server – hail the big G, and all others who connect the wider world searching for your glorious pages
  • Better performance to the end user – another advantage of using server to push the prep’d pages to client

You may not like NextJS because –

  • You want to save for your marriage or kids’ education instead of wasting on server resources.
    I do not know whether the server actually likes NextJS – most likely that it won’t. I am a long way from testing my application in real world.
  • You don’t quite want server side rendering – all you do is deliver data directly from DB on simple datatables!
  • You get annoyed that there are a few things that are so unnatural – look at the way ‘Link’ is coded in the page. How can you unlearn that and get it out of your sick mind once you have seen it?

Learn to use NextJS

If you think you can overcome the dislikes, go ahead and get started. Do stuff instead of writing 500 words of nothing.

  • LearnNextJS
    Beautifully crafted. Simple. Effective.
  • Egghead.io
    A more recent course. Takes you through real-world application.
  • Auth0
    Only if you are into Game of Thrones. How do you even put GoT and real-life application in one sentence?
  • Dive into one of the projects on Awesome Next

See, Javascript is a nice place that gives you a lot of power and respons.. Oh, that’s a good enough point to stop. No one ever really gets to the last line after a bunch of useful links.

Thanks!

Acknowledgements and thanks to the awesome people below-