Gautam Sampurna.Pdf (1.575Mt)

Gautam Sampurna.Pdf (1.575Mt)

Deno – A new Node.js? Sampurna Gautam Bachelor’s Thesis Degree Programme in Business Information Technology 2021 Author Sampurna Gautam Degree programme Business Information Technology Thesis title Number of pages Deno – A new Node.js? and appendix pages 46+ 2 JavaScript has been one of the most used programming language after its introduction 25 years ago. One of the most exciting features of JavaScript was its ability to write server-side scripts and with the introduction of Node.js it has never been the same. The amount of func- tionality that can be added to your script with or without the help of third-party modules has made Node.js a front runner in server-side development. But in 2018 with the release of a new runtime engine called Deno which was introduced to tackle the shortcomings of Node.js and was shipped with many new exciting features and maximum emphasis on security, which interestingly is also an anagram of Node. The objective of this research was to get an insight from the target group of this research about their opinions on Node.js and Deno the main question of this research paper was if Deno will replace Node.js and become the new Node.js. An electronic survey was created and sent to the target group through different social media channels asking their opinions and experiences with the new Deno and Node.js for data collection. In addition to an initial survey a follow-up survey was also done with recommen- dation from the teacher and some of the participants from the initial survey Qualitative data collection was chosen for this research. The conclusion derived from this research was that while with Deno you have access to all the new features like out of the box TypeScript support etc and very stern security protocol which can be considered as a right direction for server-side development but because of it not being around for a long time and much more work to be done for it to be ready for pro- duction it’s a bit immature to replace Node.js which definitely has been around a longer time than Deno and because of how popular it is ,it has been able to set a standard for its users because of its settled ecosystem so for the time being Deno is to be considered as a rival and an alternative solution to the needs of server-side development and not necessarily a replacement. Keywords JavaScript, Programming, Learning, JavaScript Frameworks, JavaScript Libraries, ECMAS- cript, Deno, Node.js, security, server-side. Table of contents 1 Introduction ................................................................................................................... 1 1.1 Research Background ........................................................................................... 1 1.2 Research Objectives ............................................................................................. 2 1.3 Target Audience of Research ................................................................................ 2 1.4 Scope of the Research .......................................................................................... 2 2 Theoretical Background ................................................................................................ 3 2.1 Node.js ................................................................................................................. 3 2.1.1 History of Node.js ....................................................................................... 4 2.1.2 Node.js Execution model ............................................................................ 5 2.1.3 Node.js Ecosystem .................................................................................... 7 2.2 Deno ..................................................................................................................... 9 2.2.1 History of Deno ........................................................................................ 14 2.3 Deno Vs Node.js Benchmarks ............................................................................ 16 3 Research Plan and Methodology ................................................................................ 22 4 Main research & Development .................................................................................... 24 4.1 Survey of the Students and Developers .............................................................. 24 4.1.1 Initial Survey Questions............................................................................ 24 4.2 Analysis of the data ............................................................................................. 26 4.2.1 Background of the target group ................................................................ 26 4.2.2 Experience and Impressions of Deno ....................................................... 31 4.3 Follow up questions and responses .................................................................... 35 4.3.1 Follow-up questions ................................................................................. 35 4.3.2 Follow-up question responses .................................................................. 36 5 Evaluation ................................................................................................................... 40 5.1 Impression of Deno ............................................................................................. 40 5.2 For now, Node.js or Deno? ................................................................................. 41 5.3 Deno’s Future prospect ....................................................................................... 41 5.4 Validity of the results ........................................................................................... 42 5.5 Reflection on the thesis process ......................................................................... 42 5.6 Further research and potential areas of improvement ......................................... 43 6 Conclusions ................................................................................................................ 44 References ...................................................................................................................... 45 1 Introduction 1.1 Research Background The programming language JavaScript has been around for a good strong 26 years after its first release in September 1995 which was developed for Netscape Communications Corporation internally by Brendan Eich. Created as a scripting language for adding interac- tivity to a static web page. In the 25 years of its existence, it has been able to extend its original limitation to being one of the central pillars of the web.(Eich 2008) In the past 25 years, it has evolved from its small scripting tool to a language that powers many of the powerful large-scale apps that we use in our daily life like PayPal and LinkedIn. In a moderately brief timeframe of its existence, a huge number of JavaScript frameworks have popped-up that has helped programmers to build complex web apps in a short period of time. But with the evolution and rapid development of the language the complexity, productivity and quality all have been increased and the way it’s moving forward sky is the limit. Intended initially for the frontend side of development practice, JavaScript hasn’t been lim- ited to that and over the years has spread its wings to backend development, mobile and desktop apps. JavaScript runs on the browser with its browser engine of respective browser, but with the possibility of writing JavaScript outside of the browser arose the creation of various runtime or environment that helped software developers run JavaScript scripts out- side of the browser to produce dynamic content. One of the most popular and widely used examples of a JavaScript runtime is Node.js. Node.js is an open-source server-side asynchronous event-driven JavaScript runtime that was built on chrome’s V8 JavaScript engine the same one used on the Google’s famous browser chrome. Developed by Ryan Dahl in 2009 Node.js has quickly been one of the most used interpreters for JavaScript. What led to the rise of Node.js was that Netscape Livewire which could create webpages by using server-side JavaScript failed and years later Node.js Introduced and server-side JavaScript has never been the same again.(Nodejs.org 2021) Various other alternatives to Node.js has been introduced over the years serving different purposes and functionality but no one has even come close to Node.js considering the overall performance but in mid-2020 by the creator of Node.js a new runtime environment was released called Deno ,which ran on the same chrome’s V8 engine is basically a better 1 version of Node as Ryan Dahl himself who compiled all the regrets, he had on Node.js and created Deno . 1.2 Research Objectives While Node.js has been the leader in server-side JavaScript for more than 10 years now but now there is a competitor in the market and moreover the competition was released by the same guy who was behind the development of Node.js. So, this research aims to shine a light on Deno and Node their similarities and differences while creating a simple REST API and discussing the rumour that is Deno is the new Node.js. 1.3 Target Audience of Research The targeted viewers of this research paper will be Developers and students that use Ja- vaScript as their main language of trade or studies. I expect that this research would benefit the students the most as it would give them an insight on the difference of those two runtime environments and since

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    51 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us