Multi-tool program or unfitting for large-scale software development?

Facebook
Twitter
LinkedIn


Hello there!

It’s me, Tanzia, who came here again to introduce you to another topic. If you are somehow connected to programming, you might be familiar with the word JavaScript. When I started making myself familiar with the programming languages around 2014, at first I used to get confused between Java & JavaScript; are they same or different? What is the difference? If Java is good for backend then JavaScript only used for frontend? There were so many confusions between these two kinds of matching names. Even if you have never heard of JavaScript, do not worry much. I have invested some time to narrow down the path to JavaScript & like my previous article, I talked with a developer who employs his time on this. Let’s have a tour of this topic together.

Until the early 2000s, JavaScript was one of the widely practised programming languages though a huge amount of people tried to avoid it. The reasons behind not using JavaScript were many; it was extremely slow, limiting the complexity of what could be built with it. There were problems with cross-browser compatibility of what was written & no reliable vector graphics or canvas system, so developers really couldn’t do much graphically. The DOM interface was hard to understand to be charitable. At the same time, a number of other languages attempted to insert themselves into the web browser & failed. Since the early 2000s, JavaScript has been increasingly used for frontend web development. On the backend, languages like PHP, Python, C++, Java, Ruby, & Perl ruled. In 2009, somebody thought it was a good idea to put this in the backend, & Node.Js was born.

So JavaScript’s popularity in web development is mostly an after 2009 phenomenon. Seriously, how things have changed!

Worthy to invest time?

From some developer’s view, JavaScript is a lazily typed language which has a very less formal type system & is overly forgiving when it comes to errors, which creates a perfect environment for beginners. The best thing about JavaScript is it can be used both in frontend & backend. It can be used for mobile (React Native, Apache Cordova) & desktop (Electron) development. JavaScript & C++ are two languages that are very similar & they can be used to make the same things & the code looks almost similar. Even C++ is ten or more times faster than JavaScript across the board. There is no argument which is faster. The only difference is that C++ is not appreciated by everyone, because of its multi-paradigm nature & more advanced syntax. Your browser is what interprets all the files that the server sends you, & in large part, JavaScript helps you interact with the website without necessarily needing to communicate with the server. This is why JavaScript is a client-side scripting Language.

Source: 2021 Developer Survey – Stack Overflow

Framework & library are two parts of JavaScript. When you’re trying to define frameworks in the context of JavaScript framework vs library, think of it this way: JavaScript libraries are like pieces of furniture that add style & function to an already constructed house. Frameworks, on the other hand, are kind of a template you use to build the house itself.

Despite having huge advantages, there are a lot of drawbacks which interrupt JavaScript from ruling the frontend development industry. It’s not suitable for large-scale software engineering where maintainability & reliability are crucial or high performance software.

Last week, I had a meeting with Mridul Roy, fullstack developer working on dpa-IT services GmbH. He has spent 1 year on the backend development but later moved to the frontend & now it’s been 5+ years he is in this sector. Like my previous article, here I again picked his brains to know his perspective towards full-stack development.Let’s hear from his own voice, shall we?

Please take a moment to make yourself known.

I am currently employed at the dpa-IT Services GmbH, where I am working as a full-stack developer in a scrum team developing services & solutions for the media & communications industries. Sharpening my skills in Vue.js including Vue-testing-library, TypeScript & TailwindCSS. Using Vue.js I am responsible for planning, implementation & further development of applications in changing projects. While implementing a project, I focus not only on customer or product owner requirements, but also on my own expectations: a product that I would use myself, whose features I am convinced of & which is fun to use.

What do you think about choosing fullstack development? Which programming language do you prefer to work with?

Actually I joined dpa (Deutsche Presse Agentur) as a junior web developer & started to implement some web solutions including some features for e-paper Apps (iOS & android platforms). Later my company needed more support in the customer service area & therefore I joined as App & Service Manager. But I was always missing my coding life & it’s the fun part. So I changed my career path back to the track of coding life & joined as a fullstack developer. For frontend stuff I prefer to use Vue.js & for backend I prefer Node.js.

If I ask you to mention some of the key engineering terms that are important to know as a Vue.js developer, what will they be?

Vue.js is a progressive JavaScript Framework. It has flexibility which offers smooth integration with JavaScript projects. It also allows the developers to write & create templates in HTML & JavaScript. Another reason to choose Vue.js for its simplicity. It has also Advanced CLI which offers scaffolding of projects much faster.

What do you like about Vue.js? From your point of view, are there any limitations?

What I like most about Vue.js framework is that it is a combination of some of the most amazing features of React & Angular frameworks. The developers get to work on a framework that is based on a single way data flow & follows the component-based method just like React.js. As well as they can work on the same framework which offers templates having a simpler syntax than Angular. However it has some limitations too. It is not scalable & therefore not suitable for large-scale projects.

If I want to know whether you want to change anything in the framework, which you are working on, what would it be?

Vue.js has a lack of widely used & updated plugins. Vue.js has much fewer plugins compared to Angular or React. This aspect is important to consider as developers can not fully rely on Vue.js because of the lack of commonly used plugins. To get help, developers must constantly switch to other languages.

What are the things a developer should be careful while working as a full-stack developer?

Sometimes it would be difficult to keep up to date about the new versions of the framework or library. So, it would be good, if the developer sticks to one ecosystem.

What is your future plan with this language? Do you want to keep working with this or you have a thought to switch to another one?

Currently I am working with the 3.0 version of the Vue.js framework which introduces the Composition API features & I’m really comfortable with this. I would like to continue to work on that & as well as focus on another framework ‘JEST’. I am also interested in working with the ‘NUXT’ framework which is based on Vue.js in the near future.

End of interview

For the frontend web development, JavaScript is kinda a multi-tool of programming features that can solve a huge range of problems. It’s pretty much the only language which you can use for building proper web pages. I’m not a pro in JavaScript but still I would not recommend the language for any use outside of the web. TypeScript is a much more ‘decent’ alternative to JavaScript. matched.io recently shifted to TypeScript from JavaScript as TypeScript can target any Javascript version that a developer wants (ES2015, ES2016, ESNext, etc.), easy to catch the typing mismatches & besides these, it also allows for better & more precise autocomplete/intellisense/code completion. So if anybody is interested, give it a go!

Last but not least, a huge thanks to Mr. Roy for sharing his perspective & experience! See you all next week, with something new.

Till then, happy coding!

tanzia

tanzia

Any questions?

Feel free to check out the other tutorials or our FAQ!

Feel free to leave feedback at feedback@matched.io and let us know how helpful you find the tutorials!

Your matched.io Team

Sign up for our Newsletter

Want tech updates sent straight to your inbox?

By clicking send you’ll receive occasional emails from matched.io Newsletter. You always have the choice to unsubscribe within every email you receive.
en_US