Technology Report on Node.js
Q1. What is the selected technology? (Basic concepts, definitions, features)
Traditionally websites were made using HTML and CSS. Over the time when websites became heavier and complicated, scripting languages like PHP, Python, and Perl were used with front end developed in previous mentioned technologies (HTML and CSS). JavaScript was introduced and made the web pages more interactive. With time and increased usage, jQuery was introduced. These were libraries of JavaScript functions used frequently in the web pages. But still people using these technologies were called “JavaScript User” and not “JavaScript Developer”. Node.js allows you to run JavaScript code on server side, outside the browser.
Node.js is a platform built on Chrome's JavaScript runtime. It uses Google’s V8 VM, same runtime environment for JavaScript used by Chrome. Features like event-driven, nonblocking I/O model make it ideal for data-intensive, real-time applications running across distributed devices.
The asynchronous nature of the scripting language and being identical to JavaScript are key assets, which makes it much easier to express concurrency in the application.
Event Driven, Single Thread.
Most important concept of Node.js is that it is event driven and it runs its event on a single thread. That means that there are several events in the event loop but only one will function at a time. An event might send a callback to another event but only one event will occur. This saves multithreaded overhead. A request comes at node.js web server and it is handled to a listener object to process the response. Meanwhile the web server will remain ready to accept any new requests. The previous response handling will remain in a que...
... middle of paper ...
...e used to share code between the browser and backend. JavaScript is on its way to become a really universal language.
And the last reason is raw speed. V8 is constantly pushing the boundaries in being one of the fastest dynamic language interpreters on the planet. In addition to that, node's I/O facilities are really lightweight, fully utilizing the system's I/O capacities as possible.
Package management - Node Package Manager (NPM)
Node Package Manager is the basis of deployment systems for Node.js and underlies the many PaaS (platform-as-a-service) providers for Node.js, making it easy to deploy smaller applications between providers. NPM can help get benefit by getting and managing thousands of open source packages so one does not have build everything all by self.
Q5. How to use this technology (procedure, tips and guidelines)
Syntax
Tutorial
Demo video
The Bash Shell was implemented in 1989 by Brian Fox. Its purpose was to act as a 'command processor'. In other words, this language would act as an interface between the user and the GNU operating system (primarily installed on Linux based systems). Bash scripts are created with an editor and are run with the Unix sh command. The Bash language itself is highly procedural, supporting shell variables and procedural constructs such as ifs and loops. Bash provides an excellent medium for combining Unix commands and their outputs in almost limitless ways. The Ruby programming language which was devised by Yukihiro "Matz" Matsumoto, arrived approximately five years later with the goal of making programmers more productive and trying to make the process of creating software enjoyable. Ruby itself can be used to create graphical user interfaces (guis) and is the cornerstone of the ‘Ruby on Rails’ web application framework.
TCP/IP is a client/server model. The communication of TCP/IP is point-to-point; each communication is from point in the network to another point. TCP/IP and other applications that use TCP/IP are considered “stateless”. It is “stateless” because each request by the client is unrelated to any previous requests. The network path is freed up because of t...
The official definition of Gopher helps to explain what this utility is, “ The Internet Gopher uses a simple client/server protocol that can be used to publish and search for information held on a distributed network of hosts. Gopher clients have a seamless view of the information in the Gopher world even though the information is distributed over many different hosts. Clients can navigate through a hierarchy of directories and documents [menus] or ask an index server to return a list of documents that contain one or more words. Because the index does full-text searches, every word in every document is a keyword.”(Milewski, 41) Using the client/server architecture is advantageous because the two connecting machines need to communicate with one another for a very short time. The server shuts down the connection once it has sent out the file to the client. (Notess, 101)
...ing developers and businesses an easier way of distributing content to end users while sustaining low latency, high speed of data transfer, and no commitments.
It is perhaps a little surprising when Microsoft introduced a new language called Typescript; Why Java script isn’t enough? Do we really need such a language when we have several advanced languages (coffeeScript, Dart) with additional functionalities? But sometimes it is not about choosing the best technology, but which best suits your requirement. With this concept, Microsoft’s new language ‘Type Script’ argues, it best suits in the development of ‘large’ applications. Let’s glance into some of its development facilities and interesting IDE features.
Introduction of a new rendering engine like Blink in place of the efficient WebKit was bound to bring a lot of changes in the way web is perceived and worked with in the world. It has significant implications. Still, it is believed that presence of multiple layout (rendering) engines will only be beneficial to the web and will encourage us to further innovate in this field.
Over the past few years a debate between Flash and HTML5 has been gaining more attention as HTML5 becomes more developed and polished. Flash has been the web standard for websites since the late 1990’s but HTML5 is quickly gaining ground and is considered by some as the standard of the “future”. Another aspect of the debate is whether or not we should go with open web standards or closed, Flash being the latter. Even though 85% of the most-visited websites run on flash, HTML5 is the future because HTML5 combined with javascript and CSS3 offers the same capabilities as flash and HTML5 can avoid many issues that Flash faces by being open source.
It simplifies the storage and processing of large amounts of data, eases the deployment and operation of large-scale global products and services, and automates much of the administration of large-scale clusters of computers.
As the Internet grew, more and more people found it a more viable place to do business. With that came a need for languages that were fairly easy to learn, dynamic, secure, portable, and maintainable. The industry answered that call with languages such as Java and JavaScript.
Essentially, Adobe Flash has managed to broaden our general comprehension of the innovative and enhanced Web 2.0 for the World Wide Web. Without this advanced software programming, the world would not experience the luxury of quality video and audio transmission. As a result, the world has evolved with the contemporary internet becoming more efficient each day. To this day, frequent users of Adobe Flash may thank the creator, Jonathan Gay for his contributions towards the dynamic World Wide Web.
The PHP developers got the flexibility choose their own editor but this feature is not associated with ASP. Using VI and VIM editors, the PHP developers get access to use and integrate other important platforms like Ajax, JavaScript, JQuery, etc due to developing in an open source platform.
Ajax isn't a technology. It's really several technologies, each flourishing in its own right, coming together in powerful new ways. Ajax incorporates:
There were skeptics that said the language was a dud and would never catch on, but now more people are learning Java Script then ever before.JavaScript is used within HTML tags so that the page setup in already present when the Java Script starts to run. There are many different uses for Java Script on the Net. It can be used to make mail forms that a customer or person trying to input information can use. The program will allow the user to input information, then it will automatically send that info to a designated email address with the click of a button. It can also be used to put a password on a certain web page; a user trying to enter the page must then input the correct commands and passwords to enter the page.
Peer-to-peer (P2P) is an substitute, network model to that provided by traditional client-server architecture. P2P networks use a decentralised model in which each machine, referred to as a peer, functions as a client with its own layer of server functionality. A peer plays act as of a client and a server at the same time. That is, the peer can begin requests to other peers, and at the same time answer to incoming requests from other peers on the network. It differs from the traditional client-server model where a client can only send requests to a server and then wait for the server’s response. With a client-server approach, the performance