JavaScript is no doubt one of the most popular programming language in the world. It was originally created for frontend web development back in the 1990s and could only run in the browser but in 2009 using the Chrome V8 engine NodeJS was invented. NodeJS is a runtime environment that executes JavaScript code outside the browser this allows JavaScript developers to write JavaScript code outside the browser, it also allow them to write server-side code (backend), NodeJS gave JavaScript the power to shift from being just a frontend language to a fullstack language, this did not end here for in 2015 Facebook (now Meta) developed a framework called React Native (from its initial reactJS library). React Native is a JavaScript framework used to develop applications for both Android and IOS platforms which means with JavaScript alone you can become a frontend developer, backend developer, Fullstack Developer and a mobile developer with React Native, all these are awesome and one of the huge reasons JavaScript is this popular. With so many things to do with JavaScript, the language is now ambiguous with no specificity, I mean this language was initially created for frontend development, why this so much growth? (with more to come in the feature) Why didn’t JavaScript stick to its original purpose just like PHP for backend? these two questions hopefully will be answered in later blog post.
Now the Bane
1) So Many frontend frameworks: why are they so many JavaScript frameworks? Well JavaScript is a very popular language and widely used by many which is one of the reasons we have tons of frameworks. Picking a framework can be very challenging as a JavaScript developer. This can cause a lot of discomfort and pain because you might be force to work with a framework you know nothing about or not comfortable with.
2) To whom much is given much is expected: JavaScript can do so many things and we (JavaScript developers) are often expected to have vast knowledge on so many things. Have you seen the Job requirement of a JavaScript developer?
3) Legacy code: Although not just unique to JavaScript alone, Legacy code can be a pain in the ass as a JavaScript developer. A JavaScript code written 10years ago is now obsolete and can be a little bit difficult to understand, often times we need to always update our codes with latest features React Developer will understand this more.
4) Too Many Frameworks too many ways of doing things: Because of the large amount of framework, there are so many ways to build a frontend app and we cannot know it all. To a ReactJS Developer, Angular looks strange and confusing. To an Angular developer VueJS looks strange and confusing and so it goes.