0% found this document useful (0 votes)
34 views13 pages

8 Node Js Challenges in Implementation

Node.js aims to simplify full stack web development by allowing developers to use JavaScript on both the front-end and back-end. This overcomes the need to learn multiple languages. Node.js is well-suited for building applications that require heavy network loads or file I/O due to its event-driven and asynchronous architecture. However, implementing Node.js presents some challenges including a lack of type safety, difficulties debugging asynchronous code, and limited scalability. The article provides an overview of these challenges and suggests ways to address them.

Uploaded by

Time Reduxy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views13 pages

8 Node Js Challenges in Implementation

Node.js aims to simplify full stack web development by allowing developers to use JavaScript on both the front-end and back-end. This overcomes the need to learn multiple languages. Node.js is well-suited for building applications that require heavy network loads or file I/O due to its event-driven and asynchronous architecture. However, implementing Node.js presents some challenges including a lack of type safety, difficulties debugging asynchronous code, and limited scalability. The article provides an overview of these challenges and suggests ways to address them.

Uploaded by

Time Reduxy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/318310544

Node.js Challenges in Implementation

Article in Global Journal of Computer Science and Technology · May 2017

CITATIONS READS

13 12,473

2 authors:

Hezbullah Shah Tariq Rahim Soomro


Shaheed Zulfikar Ali Bhutto Institute of Science and Technology, Dubai Institute of Business Management
2 PUBLICATIONS 13 CITATIONS 105 PUBLICATIONS 1,121 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Online Training System View project

Google Scholar Visibility View project

All content following this page was uploaded by Hezbullah Shah on 10 July 2017.

The user has requested enhancement of the downloaded file.


Global Journal of Computer Science and Technology: E
Network, Web & Security
Volume 17 Issue 2 Version 1.0 Year June 2017
Type: Double Blind Peer Reviewed International Research Journal
Publisher: Global Journals Inc. (USA)
Online ISSN: 0975-4172 & Print ISSN: 0975-4350

Node.js Challenges in Implementation


By Hezbullah Shah & Tariq Rahim Soomro
SZABIST Dubai
Abstract- Node.js gave rise to the Full Stack Developers who are now able to manage server and
client side by their own. Node.js is fast and reliable for heavy files and heavy network load
applications due to its event driven, non-blocking, and asynchronous approaches, where developers
can also maintain a complete projects in single pages (SPA) and can use for IOT. The result of study
concludes from a survey and from literature review the implementation areas and challenges of the
Node.js. Lastly will provide suggestion on how to improve to overcome the challenges.
Keywords: node.js, javascript, SPA, IOT.
GJCST-E Classification: I.2.4, I.7.2

NodeJsChallengesinImplementation

Strictly as per the compliance and regulations of:

© 2017. Hezbullah Shah & Tariq Rahim Soomro. This is a research/review paper, distributed under the terms of the Creative
Commons Attribution-Noncommercial 3.0 Unported License http://creativecommons.org/licenses/by-nc/3.0/), permitting all non-
commercial use, distribution, and reproduction inany medium, provided the original work is properly cited.
Node.js Challenges in Implementation
Hezbullah Shah α & Tariq Rahim Soomro σ

Abstract- Node.js gave rise to the Full Stack Developers who to have knowledge of HTML, CSS, and a programming
are now able to manage server and client side by their own. language to add effects and more to the front – end i.e.
Node.js is fast and reliable for heavy files and heavy network JavaScript. They build the web sites display and effects
load applications due to its event driven, non-blocking, and which are shown to the clients by converting the
asynchronous approaches, where developers can also
designer’s design [3].Back-end Developers build the
maintain a complete projects in single pages (SPA) and can
business logic behind any web application. The actions

2017
use for IOT. The result of study concludes from a survey and
from literature review the implementation areas and challenges for instance adding and retrieving news highlights to

Year
of the Node.js. Lastly will provide suggestion on how to and from a web applications, or sending email from a
improve to overcome the challenges. web based forms, or authenticating a visitors or clients
Keywords: node.js, javascript, SPA, IOT. credentials are all part of back-end developers. A back- 73
end developers need to know languages like PHP, .NET,
Introduction

Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I
I. Java, and others [3][4].Back-end developers should

W
eb based applications are increasing its also have knowledge of databases like My SQL, Oracle,
popularity as they become easier to develop, and SQL Server, or should hire or entrust a database
maintain and secure. Also they are easily administrator to work with the flow. A database
reachable to the clients and does not require additional administrator will take care of database server and
installations in most cases and are quickly customizable ensure its smooth performance [5] [4].
[1]. Web application is derived from web based system, Full stack developers are jack of all trades, and
which have additional functionality to execute business they are the one who do all. Mostly back-end developers
logic of an organization. These applications are totally are required to have skills of front-end developers and
web based instead of requiring to install a separate vice versa and have extra burden on them of learning
application on the operating system [2]. Google Docs, additional skills set[4].So it is clear that for a developer
Web based retail stores, Google Maps, and the web to become full stack, he have to have expertise in
based email applications are kind of Web applications languages of three kinds, i.e. Client Side languages
[1][3]. such as Java script along with HTML and CSS, Server
The Web development industry will find two Side Languages such as PHP, .NET, Java, Ruby, etc,
kinds of developers. i.e. Front-end developers and and database expertise such as SQL Server, MySQL
Back-end developers[3]. Front-end developers require Server, and Oracle. As depicted in Figure 1.

Server Side
Client Side Language
Language i.e. PHP, .NET,
i.e. JavaScript Java, etc.

Database Side
Language
i.e. SQL Server,
MySQL Server, etc.

Figure 1: Full Stack Developer


Node.js is overriding the complication of is confident in JavaScript just requires to learn some
learning multiple languages in the same time to become additional Server Side Functions and he becomes a
a Full Stack developer where a front-end developer who Back-end developer [6] [7]. Apart from this where
Node.js is free, it is also used by thousands of
developers around the globe [8].While the web
Author α σ: Department of Computer Science, SZABIST Dubai application demands performance and scalability,
Campus, UAE. e-mails: [email protected], [email protected] history have already adopted threading and events

© 2017 Global Journals Inc. (US)


Node.js Challenges in Implementation

either separately or its combination. But its daily internet Event. Similarly an edge of Node.js over others will be
traffic’s increasing nature demand better and new that it will be capable of handling multiple request while
solutions to improve the concurrent nature of the it will act like a client towards the third party services by
service. One solution is Node.js (which sometimes is executing only a single thread. Other languages in this
also termed as Node [9]) which is a lightweight, and regard will block the processing until the remote server
fulfills the demands through event-driven and non- responds first for their initial request as a result they will
blocking I/O model and server-side JavaScript [10][11]. be requiring multiple threading for executions.
Chrome’s V8 JavaScript engine is the basis for Node.js Comparatively in Node, all what you will use is
as Node.js JavaScript runtime is built on it [11]. Written asynchronous as it will become quite hard if you are to
in C++, V8 is an open source from Google as a high write non-asynchronous code in it. Also Node.js will
performance JavaScript engine. Google have used V8 in never force to buffer data before outputting while the
Google Chrome browser, and is capable to run others like Event Machine, forces buffering in many
2017

standalone and can also be embedded into C++ cases to buffer the data[7][6][13][14][15][16][17].
Year

applications. It is capable to run on different versions of Being server side JavaScript, another admirable
Windows, Mac OS, and Linux [12]. As Node.js is event- edge of Node.js over others is that a developer will be
74 based and not thread-based, it is also capable of required to only have knowledge and experience of a
scaling to millions of connections concurrently, while single language i.e. JavaScript, no matter if he is
Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I

using an event loop within a single thread and not developing client side scripts or scripts for server side.
making overhead of multiple threads. Node.js The developer is not required to swap his brain cycles
processes its I/O operations asynchronously and is from for one language at client side and then for another
widely misunderstood with AJAX. While Node.js and language at server side. Hence JavaScript end-to-end
AJAX are considerably different [9]. as depicted in the Figure 2. Here the database of
JavaScript also store date like a JavaScript Object.
a) Advantages of Node.js over others
Adding to this, it is also worth considering that Node.js
Node.js is built from ground for the purpose of
is new and thus have benefit of taking precautions
handling asynchronous I/O as it is built of JavaScript
against the mistakes which other languages had come
and JavaScript is built as event loop. Like the on click
across in the past such as the mistake of backward
event for a button in client side JavaScript is and event
compatibility[7][6]. Figures shows that about 47% of
loop. While other environments do have this feature,
web surfers wants a website to be loaded within 2
they have it with using third party libraries or are not built
seconds and a 3 second delay drops the customer
from ground for the same purpose like the Node.js and
satisfaction by 16% [18]. Here the Node.js leads as the
hence they are often slow, or lags and does not belongs
interpreter of Node.js is smaller and fast compared to
as a standard feature to them. Some of the examples
other languages like PHP. Here the server side apps are
are Event Machine – built for Ruby, Twisted – licensed
permanently kept ON unlike other languages where
under open source MIT License, it is introduced for
every initiation of the application will follow cycles
Python and is available since Python 2 onwards, and
consuming steps of for example loading configurations,
network framework library for Apache named as Apache
followed database connectivity, acquire required
MINA which is also called “Networking Socket Library”
information and finally render the markup language.
and is another example of providing event-driven and
Node.js on other hand reduces these steps by keeping
asynchronous limited to APIs only. Similarly Apache
an app permanently ON [19].
AsyncWeb is built using Apache MINA and Perl’s Any

Request Request
JavaScript JavaScript JavaScript
Response Response

Client Server Database


Figure 2: JavaScript end-to-end

b) Disadvantage of Node.js over others environment. Complex topics of JavaScript language


A code in Node.js becomes fast growing, along such as prototypical inheritance, anonymous function,
with making it difficult to debug due to the fact that it is callbacks make the language hard to learn, and thus
using event-driven/callback approach [7]. Big drawback becomes the choice to be learnt when one has
currently is the unavailability of ready hosting for Node.js mastered another easy language first [20]. Node.js is

© 20 17 Global Journa ls Inc. (US)


Node.js Challenges in Implementation

not a mature language still and thus faces so much b) History and Evolution of Node.js
hesitation to get joined by expert programmers. Another The created Ryan Dahl was first motivated to
issue is that being single-threaded, other requests are build Node.js from a progress bar showing file upload at
stopped if in case the CPU is occupied even for some Flickr (a company of Yahoo dealing with pictures
parts of a second. And so the developers are also galleries [23]) where the browser was asking server
forced to think in asynchronous which is not easy to get again and again about how much size of file is being
used with [21] [22]. uploaded [24][25]. And on March, 2009 Node.js got its
The scope of the study is to make struggles for name for the first time and the package manager for it
exploring the implementations of Node.js and try to was also introduced in the same year in October and an
catch on how it can be made easy to implement for new early preview of npm (the Node.js Package Manager)
comers specially. Also it tries to explore challenges to was introduced. Later in the same year in November, the
Node.js that why it is still not being very widely creator Ryan Dahl did the first talk about Node.js at

2017
implemented and why new comers to Node.js are less? JSConf 2009 where he talked about Node.js in detail. He

Year
Efforts will be made to combine the ideas with real explained how Node.js is event based, and works on
experiences and not suffice just theories. The study will callbacks where every function of I/O as receiving input
be exploring the issues in the Node.js implementations from disk, network or any process, should use callback 75
and adoption if any and provide recommendations for and the audience stoop up to applaud for his extra

Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I
those challenges. This study will make the reader ordinary project. In 2010 Express framework was
interested in the adopting of Node.js as the features and introduced towards Node.js [26][17]. The node.js was
possibilities of Node.js will be uncovered to the reader. not available for Windows Environment until July 2011
The result of this study will help developers to find out when Microsoft partnered with Joyent for this purpose
reasons and methods to quickly adopt the Node.js and and support of even older version of Windows Server
help Node.js become popular in the market similar to was added [27]. Later in end of 2014 some of the
other top languages like .Net Languages and PHP. This enthusiasts from Node.js team boycotted Node.js and
paper is organized as follows, section 2 will explore the created their own fork from Node.js naming it io.js or
review of literature, section 3 will talk about material and iojs. They boycotted as they were unhappy with the
methods used for this study and section 4 will depict the control of Joyent over the project [28]. The following
results and finally discussion and future work will be year, both of them again seem to merge together as
discussed. they both voted to form a neutral Foundation of Node.js
and finally in the same year in September 2015 they
II. Literature Review merged back and their integrated community made
amazingly progress in emerging a joined
This section describes about the existing codebase[29][30].
research on the Node.js as a server side language and
areas where Node.js is implemented practically, along c) Architecture of the Node.js Platform
with having some general review about the same like With the build of Node.js, the web servers got
History of Node, and some application areas of Node.js event driven programming. Which made the web server
and is it efficient or not. fast and in a language widely popular i.e. JavaScript,
and this is also the reason that the entire web
a) About JavaScript and Node.js development community got access to Node.js within
The history of JavaScript dates back to the no time. In Node.js developers are not required to make
beginning of WWW and it started playing integral role in use of threading while creating greatly scalable servers.
making the front ends of websites interactive. JavaScript Node.js uses a very easy event-driven model which
introduced its concepts in AJAX in late 1990’s which is uses the triggering of callback functions upon
again used to add real time like behavior to the web completion of a task or generation of error. Ryan Dahl
pages. Till this time the JavaScript was always believed created the Node.js behind the idea that other
to be a client side scripting language and that it has programming languages makes it difficult to program
nothing to do with the server side programming. things to make them work concurrently[31][32].
However by the development of server side JavaScript
like Node.js, the concept changed and now the d) Adoption of Node.js
JavaScript is not only a client side scripting Node.js is adopted by giants such as PayPal,
programming language, but also it is also capable of LinkedIn, Medium, and Netflix to mention among the
executing on server side. Node.js is one of the main many [33]. Face book adopted Node.js and it proved for
competitor in the JavaScript on server-side era. Again it them extremely proficient and then they adopted it for
is important to mention that Node.js is different from production [34].Microsoft made a worthy change of
JavaScript, while JavaScript is no doubt backbone of making Node.js a part of the developer stack mainly
Node, Node.js is just build on top of JavaScript only and since then developers can now use it on Azure platform
hence use the same language [9]. also along others and is not restricted to only old
© 2017 Global Journals Inc. (US)
Node.js Challenges in Implementation

Operating Systems[35]. Walmart adopted end-to-end new thinking of how to build perfect software, but also
JavaScript by using Node.js believing that Node.js will great way to express the existing things in a new way
be helping them to front their services which they are [36].According to the statistics by GitHub, JavaScript is
providing all over the world. They mentioned they the most popular language. The statistics graph is
adopted Node.js also because it is not just introducing shown in Figure 3[37].
2017 Year

76
Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I

Figure 3: Javascript the most popular language[37]

e) Application of Node.js RNA-seq. While MAGI is based on Node.js, it did


Node.js was compared with PHP/Nginx for addressed the limitation of other similar tools to not
Performance and Scalability, where Node.js showed being able to handle large files, and a burdensome error
high performance and scalability compared to PHP/ prone steps. Also MAGI helped uncovered the delay in
Nginx. The two researchers developed web application downstream analysis as the others are time consuming
on Dijkstra Algorithm and simulated load of concurrent and solved the issue of others of not being able to
user requests using some load generators [38]. provide statistical tests [41].
University of Notre Dame in [10] had a project report i. Single Page Applications
issued where the author performed tests between Single Page Applications or SPA is a term given
Node.js and Ruby’s Event Machine and Apache’s to web based applications which does not cause a page
threading model, which measured request time over the to reload during use. While SPAs have history from quite
number of cores. Node.js had again beaten the other a long time, and is based on Java, Flash and
two especially when the number of cores were JavaScript. It is known that JavaScript does not require
increased. Node.js based DPWS – Devices Profile for any third party client plugins like the former ones. And
Web Services (termed as Node. DPWS) was evaluated that is the reason that Node.js as it is based on
for performance and compared with alternative DPWS JavaScript becomes successful in competing the others
tools. The researcher concluded that Node.js based in SPAs [42].
DPWS was easy to use as well as light weight. Node.
ii. NodeOS
DPWS had beaten even the most striking substitute of it
An operating system built on Java Scripit is
in the field of IoT (Internet of Things) [39]. Node.js also
Node OS. Its packages are managed by the package
plays important role in GIS field and a paper published
manager of Node.js which is npm hence any Node.js
in Journal of Korea Spatial Information Society used
package is Node OS package. While packages in npm
Node.js in Web GIS. They implemented Node map and
is about 300,000.NodeOSwon the Spanish 9th National
concluded in their research that Internet GIS have its
Free Software Championship in the category of the
future bright in combination to the Node.js[40]. Another
Systems and is also honorably Mentioned in its 10th
analysis study at [9] has shown that Node.js can be
edition [43] [44].
used to have complex real time applications and that
these application can be served for millions of client iii. PoisonTap
connections. There is a web service named MAGI which Poison Tap is built on Node.js to create
is used in infrastructures of graphic processing unit backdoors even the locked computers. This USB just
(GPU) for the purpose of fast data analysis of Micro requires to be plugged to a running computer even if it

© 20 17 Global Journa ls Inc. (US)


Node.js Challenges in Implementation

is locked. It then installs continuous backdoors which where there is processing of large files or requires large
operates even if the USB is removed later and allows the network load. Below are discussed some results in the
intruder to access also the router along with the target same context. Due to Node.js a developer can easily
network and cookies of the web browser [45]. When we become Full Stack Developer where he as a developer
asked the creator Samy Kamkar through email that why does not require separate colleagues for server side
he choose Node.js for Poison Tap, he replied: “The development and database development. Also the
browser based code must be in JavaScript, so it made employers can reduce their cost by adopting Node.js as
sense to me to keep the backend in the same they will find a single developer taking care of
language”. performing all task at server side as well as at client
iv. Node.js in IOT side. Introduction of Node.js also introduced easy
Node.js is adopted by developers and implementation Single Page Applications (SPA) where
the web application developed in it are faster, as they

2017
researchers for IOT for the reasons that JavaScript fast
and is familiar among the large number of web use fewer resources of the server and fewer callbacks to

Year
developers as they use it with HTML5 for programming the server while making the websites more interactive
front end User Interfaces, and important point is that and user friendly[42]. The literature review also
concluded that the field of Internet GIS have bright future 77
JavaScript is best for embedded devices as its nature is
to support asynchronous and event-driven functions. in combination with Node.js. Also to mention, that

Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I
Also the programming model adopted by Node.js is a Node.js is proven to be faster than other to process
great fit for embedded devices as well as servers and graphics processing. As there are benefits of the
the domain experts have already adopted Node.js for Node.js, there are large chances of misusing it and one
the purpose of IOT [46].Microsoft have also adopted such case is the release of PoisonTap USB which create
Node.js for IOT development in its developer resources backdoors to a computer and the network through any
[47]. running computer even if it is password locked. Due to
the increased use of JavaScript among the developers,
III. Materials and Methods such backdoor software are also part of life of
developers.
This study gains knowledge from the Node.js
As the study is also based on the quantitative
domain experts through intensive literature review. This
research, because a survey was conducted, below are
study also gains knowledge from a surveys conducted
mentioned the results of the same. The online survey
from the professional developers. The survey was
was sent to several Professionals through LinkedIn,
created on Google forms and ran for 1 month from the
Facebook, and Personal Networking. Total 93
following link:
responses were received. Among them 80 responses
 https://docs.google.com/forms/d/e/1FAIpQLSc4Ghr were useful for this study as they were developers and
oqubE5jQSnzmPOXEWuXzD8IcpRCtFPbSfFYscszX as this study is related to developers’ community.
SVg/viewform?hl=en Among the 80 developers (respondents) which were
The survey was targeted to the developers reached within a month, 16.2% did not know about
groups on the LinkedIn, Facebook and also shared with Node.js. The rest 83.8% of the developers proceeded
professional developers. with the rest of the survey questions and they were 67 in
count as shown in Figure 4.
IV. Results and Findings
The Literature Review concluded that Node.js
can be useful and should be implemented in any place

Figure 4: Awareness of Node.js

© 2017 Global Journals Inc. (US)


Node.js Challenges in Implementation

Regarding learning challenge; the respondents Node.js. 23.9% felt its learning as a challenge, 44.8% felt
shows that is somehow hard to learn the Node.js as only little bit the learning as a challenge as shown in Figure 5.
31.3% said it wasn’t a challenge for them to learn
2017 Year

78
Figure 5: Learning JavaScript for Node.js
Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I

Regarding Database challenge; the survey NoSQL databases as quickly as only 31.3% said that the
concluded the results that as developers are familiar NoSQL databases use and learning is not a challenge
with the SQL databases, they find it difficult to adopt the as shown in Figure 6.

Figure 6: Use of NoSQL Databases

Regarding the Event-Driven feature challenge, as a challenge, the rest25.4% felt it a challenge to some
the survey concluded that they felt difficulty with Event- extent only, and the rest 34.3% said they felt it as a
Driven feature of Node.js as 40.3% did not considered it challenge as shown in Figure 7.

Figure 7: Event Driven feature of Node.js


Regarding Non-blocking feature challenge, the challenge, 26.9% see it as a challenge up to some
survey concluded this feature is a challenge to the extent only.
developers. As the Figure 8 shows, only 41.8% did not
feel it as a challenge while 31.3% see this feature as a

© 20 17 Global Journa ls Inc. (US)


Node.js Challenges in Implementation

2017
Figure 8: Non-Blocking I/O in Node.js

Year
Regarding asynchronous feature challenge, the wonderful, 38.85 say that this feature is a challenge and
survey concluded this is not enjoyed by the developers 17.9% feel it as a challenge up to some extent only. 79
as according to Figure 9 only 43.3%feel the feature

Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I
Figure 9: Asynchronous Processing in Node.js

Regarding the challenge of being familiar with as a challenge by 50.7% and rest of 17.9% from the
other programming language; the survey concluded that other programming languages felt Node.js adoption as
the developers with hands on other languages also a challenge to some extent. While only 31.3% feel it as a
enjoys Node.js as according to the survey outcome challenge if they are from other programming language
shown in Figure 10 the respondents who are using other environment.
programming languages do not feel Node.js adoption

Figure 10: Developers from other programming languages


Regarding the challenge of configuring server only. The result of survey to this opinion is shown in
for Node.js; 61.2% responded as they did not felt it as a Figure 11.
challenge. Only 25.4% felt it as a challenge, while 13.4%
felt setting up the server a challenge up to some extent

© 2017 Global Journals Inc. (US)


2017 Node.js Challenges in Implementation

Figure 11: Setting up hardware for Node.js


Year

Regarding the challenge of organizational Node.js implantation is their organization’s decision.


80 decisions to adopt Node.js; according the Figure 12 37.3% disagreed with it, while 14.9% respondents are
from survey results, 47.8% said the reason to delay the not so sure about this question.
Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I

Figure 12: Organization decision to replace the current technology

The challenge of market awareness is also a agreed to it as a challenge, 19.4% agreed it as a


factor in implementing the Node.js. This is shown from challenge up to some extent. While only 35.8% said it is
the Figure 13 as when asked from the online survey not a challenge.
respondents about the market awareness factor, 44.8%

Figure 13: Lack of market awareness as a challenge to implementing Node.js


As a result of the survey conducted, the greatly use of JavaScript is also liked by about 46% of
liked feature (by about 50% developers) of the Node.js developers. And some of them (which are 34.3%) also
is the reality that the same consistent language is used liked its ability to make itself best fit in IOT. This is shown
on both the servers and the clients. While the other in Figure 14
features like event-driven, non-blocking feature, and the

© 20 17 Global Journa ls Inc. (US)


Node.js Challenges in Implementation

2017
Figure 14: Greatly Liked Features of Node.js

Year
V. Discussion and Future Work majority and mostly might not be aware of it like using
secure layer on ones websites (https), and enabling 81
The study got the finding about the secure flags on the cookies which common users might

Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I
implementation of Node.js. Below is discussed the not know about it [45].
implementations positive findings as a result of literature  There is a plus point but as understood from the
review and the survey. survey conducted that the community feel it hard to
 The Node.js have made Full Stack Developers’ job learn JavaScript for Node.js
a dream come true. In absence of Node.js it was  Also the developers having knowledge of other
hard for a developer to learn several different programming languages have complications in
languages and environments to manage the adopting Node.js. Even the setting up of server for
complete system at server side and client side. their programming work is not an obstacle. This is
 Organizations and developers can now with the as concluded from the survey results.
invent of Node.js build highly load bearable and  Another plus points were event-Driven
faster applications and by using Single Page Programming, Non-Blocking I/O, and asynchronous
Applications (SPA) now the server calls are reduced feature. But according the survey results is that the
and the applications are more user friendly and features like event-driven programming, Non-
faster. Blocking I/O, and Asynchronous processing is a
 Node.js made it easy to achieve high load hindrance.
operations like graphic processing and Internet GIS As a result of the survey, a challenge comes to
very quicker, and it can be reliably used in every front is that most organizations are not ready to adopt
field where the files sizes are high or the network the new technologies like Node.js over their existing
bandwidth is highly consumed. Node.js will make ones like PHP, .Net, etc. Also there is a lack of market
such operations faster and with less need of awareness which is causing a barrier to adopt Node.js
bandwidth. for implementation. At a developer level, there is a
 Community like its feature that the same language is challenge which is seen from the survey results that they
also being used at server side while JavaScript is are not feeling it easy to learn the database working and
always been used at client side for ages. using of the JavaScript environment. And there also
Node.js have some challenges in context of its seems a lack of enough knowledge among the
use in the community as well as its adoption by the developers as from the survey results a reasonable
developers and organizations over the existing respondents to the questions on the important features
programming technologies. No doubt that Node.js have like event-driven, non-blocking I/O and asynchronous
great benefits, it have also some challenges to the processing is making the decision about this.
community. One such challenge is the ability of misuse The community can be taken to the Node.js by
of the widely used language by developers. One little efforts of trainings, and conducting workshops to
enthusiast have made a backdoor software using introduce Node.js to new and existing programmers and
Node.js on Raspberry Zero. It can create backdoors in explain to them the benefits of Node.js features like
the target computer and their network even if the event-driven programming, non-blocking I/O, and
computer is password locked. Although there are asynchronous processing. The community need to be
solutions from such backdoors but some seems updated about the features of how Node.js is faster in
impractical like totally blocking the USB ports, and performing network related tasks specially when it come
closing the web browser every time the user leaves the to the challenge of handling large files over the network
computer. And other options are not implemented by and handling multiple callbacks in the other languages

© 2017 Global Journals Inc. (US)


Node.js Challenges in Implementation

like PHP, .NET, etc, causing the server to overload or 15. The Apache Software Foundation, "Apache MINA,"
require more memory. Also organization should be [Online]. Available: http://mina.apache.org/. [Acce-
briefed about the benefits of hiring Full Stack ssed 30 June 2016].
Developers based on Node.js and how they will cut 16. The Apache Software Foundation, "Apache MINA,"
costs related to server bandwidths and developers [Online]. Available: http:// mina.apache.org/ async-
hiring and speed of the applications built over Node.js web-project/index.html. [Accessed 30 June 2016].
17. Ryan Dahl: Original Node.js presentation. [Film].
References Références Referencias Youtube, 2012.
1. "The benefits of web-based applications," [Online]. 18. "How Loading Time Effects Your Bottom Line,"
Available: http://www.magicwebsolutions.co.uk/blog Kissmetrics Blog, [Online]. Available: https://blog.
/the-benefits-of-web-basedapplications.htm. kissmetrics.com/loading-time/. [Accessed 25
November 2016].
2017

[Accessed 25 November 2016].


2. Web Application Basics, Pearson Higher Education. 19. C. Buckler, "Site Point Smack Down: PHP vs
Year

3. F. Bridge, "What Types of Developers Are There?," Node.js," Site Point, [Online]. Available: http://www.
tree house, 24 June 2016. [Online]. Available: sitepoint.com/sitepoint-smackdown-php-vs-node-
82 js/. [Accessed 28 January 2016].
http://blog.teamtreehouse.com/what-types-of-
developer-are-there. [Accessed 25 November 20. Firehose, "Firehose," Firehose Project, [Online].
Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I

2016]. Available:http://blog.thefirehoseproject.com/posts/n
4. M. Wales, "Front-End vs Back-End vs Full Stack odejs-vs-rails/. [Accessed 30 June 2016].
Developers," Udacity, 08 December 2014. [Online]. 21. "Quora," [Online]. Available: https://www.quora.
Available:http://blog.udacity.com/2014/12/front-end- com/What-are-the-disadvantages-of-using-Node-js.
vs-back-end-vs-full-stack-web-developers.html. [Accessed 30 June 2016].
[Accessed 25 November 2016]. 22. "Hashnode," Hashnode, [Online]. Available:
5. J. Long, "I Don’t Speak Your Language: Frontend https://hashnode.com/post/what-are-the-actual-dis
vs. Backend," tree house, 25 September 2012. advantages-of-using-nodejs-ciibz8fd3017yj3xtxqz
[Online]. Available: http:// blog.teamtreehouse.com/ 1r9 hs. [Accessed 30 June 2016]
i-dont-speak-your-language-frontend-vs-backend. 23. Flickr, "Flickr, A Yahoo Company," Yahoo, [Online].
[Accessed 25 November 2016]. Available: https://www.flickr.com. [Accessed 18
6. A. Mardan, "PHP vs. Node.js," Programming November 2016].
Weblog, [Online]. Available: http://webapplog.com/ 24. A Harris, "The Birth of Node: Where Did it Come
php-vs-node-js/. [Accessed 28 January 2016]. From? Creator Ryan Dahl Shares the History,"
7. J. Kaplan-Moss, "Quora," [Online]. Available: silicon ANGLE, 01 April 2016. [Online]. Available:
https://www.quora.com/What-are-the-benefits-of- http://siliconangle.com/blog/2013/04/01/the-birth-of-
developing-in-Node-js-versus-Python. [Accessed 29 node-where-did-it-come-from-creator-ryan-dahl-
June 2016]. shar es-the-history/. [Accessed 18 November 2016].
25. L. ORSINI, "What You Need To Know About
8. "Node.js Tutorial," tutorials point, [Online]. Available:
Node.js," read write, 07 November 2013. [Online].
https://www.tutorialspoint.com/nodejs/index.htm.
Available: http://readwrite.com/2013/11/07/what-
[Accessed 25 November 2016].
you-need-to-know-about-nodejs/. [Accessed 2016
9. N. Chhetri, "A Comparative Analysis of Node.js
November 2016].
(Server-Side JavaScript)," Culminating Projects in 26. G. Nemeth, "Rising Stack Engineering," [Online].
Computer Science and Information Technology., p. Available: https://blog.risingstack.com/history-of-
5, 2016. node-js/. [Accessed 27 October 2016].
10. R. R. McCune, "Node.js Paradigms and Bench- 27. R. Dahl, "Porting Node to Windows With Microsoft’s
marks," 2011. Help," Node.js, 23 June 2011. [Online]. Available:
11. Node.js, "Home page of Node.js," Joyent, 2016. https://nodejs.org/en/blog/uncategorized/porting-
[Online].Available:https://nodejs.org/en/. [Accessed node-to-windows-with-microsofts-help/. [Accessed
01 May 2016]. 18 November 2016].
12. G. Developers, "Chrome V8 | Google Developers," 28. P. Krill, "Q&A: Why io.js decided to fork Node.js,"
Google, [Online]. Available: https:// developers. JAVAWORLD, 04 December 2014. [Online].
google.com/v8/. [Accessed 27 May 2016]. Available:http://www.javaworld.com/article/2855639/
13. eventmachine, "GitHub, Inc," [Online]. Available: open-source-tools/qanda-why-io-js-decided-to-fork-
https://github.com/eventmachine/eventmachine.[Ac node-js.html. [Accessed 18 November 2016].
-cessed 30 June 2016]. 29. "Node.js Foundation Advances Community
14. Twisted Matrix Labs, "Twisted Matrix Labs," [Online]. Collaboration, Announces New Members and
Available: http://twistedmatrix.com/trac/. [Accessed Ratified Technical Governance," The Linux
30 June 2016]. Foundation, 15 June 2015. [Online]. Available:

© 20 17 Global Journa ls Inc. (US)


Node.js Challenges in Implementation

https://www.linuxfoundation.org/newsmedia/announ 43. J. L. Combarro, "NodeOS: Light weight operating


cements/2015/06/nodejs-foundation-advances system using Node.js as userspace," [Online].
community-collaboration-announcesnew.[Accessed Available : https://github.com/nodeos/nodeos.
18 November 2016]. [Accessed 16 September 2016].
30. "Node.js Foundation Combines Node.js and io.js 44. npm, "Official Website of npm," npm, [Online].
Into Single Codebase in New Release," Node.js, 14 Available: https://www.npmjs.com/. [Accessed 16
September 2015. [Online]. Available: https://nodejs. September 2016].
org/en/blog/announcements/foundation-v4- 45. S. Kamkar, "Samy Kamkar," November 2016.
announce/. [Accessed 18 November 2016]. [Online]. Available: https://samy.pl/. [Accessed 10
31. A Bretz and C. J. Ihrig, Full Stack Javascript December 2016].
Development With Mean. 46. M. McCool, R. Peri and R. S. John, "Programming

2017
32. G. Ornbo, Sams Teach Yourself Node.js in 24 the Internet of Things Using Node.js and HTML 5,"
Hours. in O’Reilly Solid Conference, June 23, 2015.

Year
33. Li, "Architecture of Node.js’ Internal Codebase," 04 47. Microsoft, "Developer resources," Microsoft,
June 2016. [Online]. Available: https://arenli. [Online]. Available: https://developer.microsoft.com/
83
com/architecture-of-node-js-internal-codebase-57c enus/windows/iot/samples/expressnodejs.[Accesse
d8376b71f#.koh166uay. [Accessed 18 November d 10 December 2016].

Global Journal of Computer Science and Technology ( E ) Volume XVII Issue II Version I
2016].
34. J. Harrell, "Node.js at PayPal," PayPal Engineering,
22 November 2013. [Online]. Available:
https://www.paypal-engineering.com/2013/11/22/
node- js-at-paypal/. [Accessed 18 November 2016].
35. "How did Microsoft adopt Node.js as part of its
developer stack?," Quora, [Online]. Available:
https://www.quora.com/How-did-Microsoft-adopt-
Node -js-as-part-of-its-developer-stack. [Accessed
18 November 2016].
36. J. O'DELL, "Why Walmart is using Node.js,"
VentureBeat, 24 January 2012. [Online]. Available:
http://venturebeat.com/2012/01/24/why-walmart-is-
using-node-js/. [Accessed 25 November 2016].
37. "GitHub Language Statistics," GitHub, November
2016. [Online]. Available: https://github.com/
emmanuel-keller/github-language-statistics
[Accessed 10 December 2016].
38. Y. Pandji D. and W. S. Raharjo, "Performance and
Scalability analysis of Node.js and PHP/Nginx Web
Application," INFORMATIKA, vol. 9, no. 2, pp. 117-
124, 2013.
39. K. Fysarakis and D. Mylonakis, "Node.DPWS – High
performance & scalable Web Services for the IoT,"
[Online]. Available: https://arxiv.org/ftp/arxiv/papers/
1503/1503.01398.pdf. [Accessed 21 May 2016].
40. [S. H. Jun and K. T. Doh, "Design and
Implementation of Web GIS Server Using Node.js,"
Journal of Korea Spatial Information Society, vol. 21,
no. 3, pp. 45-53.
41. "MAGI: a Node.js web service for fast microRNA-
Seq analysis in a GPU infrastructure,"
BIOINFORMATICS APPLICATIONS NOTE, vol. 30,
no. 19, pp. 2826-2827, 6 June 2014.
42. M. S. Mikowski and J. C. Powell, Single Page Web
Applications, MANNING PUBLICATIONS.

© 2017 Global Journals Inc. (US)

View publication stats

You might also like