In this tutorial, we will see where can we use JavaScript.
Platform identification is essential for frontend engineers especially the senior folks as they have to take part in the architectural and product discussion.
It is also a crucial part of frontend system design interviews as having overall knowledge really helps to put the points forward during the interview discussions.
Though after the introduction of Nodejs, we can use JavaScript on the server side as well, this article is only focused on the frontend.
When you are asked to develop any frontend application, it is important to ask what all devices and screen size the application will support.
Web (Browser), Mobile, tablet, and Desktop are the available options.
For Mobile, Web, and Tablet, if the application is going to be accessed in the browser, then we should clarify the range of browsers to be supported, though all the modern browsers are stable, the real pain is when we are targeting older browsers.
With the use of Babel and Webpack, you can provide support for older browsers as well with the same code, but as these bundlers and transpilers create polyfills to make this work, it can result in large bundle size as code size increases that can affect the performance of the application, so it is better to get your target browsers clarified at the beginning.
Clarify if the application is going to provide native support to the Mobile or if it will be rendered as a Progressive web app (PWA), then the whole application has to be written with native code, or the web application will be rendered in the web view of the app.
The same can be done for the Desktop app, we can either build the application natively or render the website in the view.
Depending on the answers you receive, you can accordingly proceed to decide on the frameworks. For web apps, you have to choose the framework as per the SEO requirements.
JavaScript frameworks for Web
Client side rendering
- React
- Angular
- Vue
- Svelte
Server side rendering
With the help of CSS style, you can create a responsive website that will function in Mobile, Tablet, and Desktop browsers.