Altabel Group's Blog

Archive for the ‘Node.js’ Category

 


 
Go was created in 2007 at Google as an experimental project. It was designed to be a fun language and at the same time it is productive, practical, expressive and powerful. Google Go can be considered the result of a rather conservative language evolution from languages such as C and C++.

Node.js is an increasingly popular platform that is built on fast, JavaScript-based runtime: V8. V8 is a JS virtual machine created by Google that is designed to build scalable, networked applications. It compiles JavaScript code to native machine code, using some complex optimizations. V8 also does the memory allocation and garbage collection of JS objects.

Recently, there have been criticisms about the value of using Node.js in a high-performance, networked application environment, and some developers have moved to the Go language. Not only developers but also some well-known companies, such as Google, DropBox, Docker, DigitalOcean and more have picked up Go for some of their projects.

Certainly, Node.js is still used by a much wider audience, has more modules, is easier to use and isn’t going anywhere anytime soon. However, Go is gaining more and more popularity. In this article we will take a look at the differences between Node.js and Go to reveal the strengths and weaknesses of each environment.
 
Performance

Due to JS’s dynamically-typed nature Node cannot reach the raw performance of CPU or memory bound tasks that Go can achieve in many tests. Go is about 3 times faster and more lightweight than Node.js in a production environment. Not to say that Node.js is slow, it’s fast enough for most use cases, but when you do hit a limit, Go can still go a long way.
 
Concurrency

One of the language’s peculiarities is the presence of goroutines, functions that can be executed concurrently with one another.

These can be launched simply by using a keyword. Go runtime contains a scheduler that coordinates the execution of an arbitrary number of goroutines on an arbitrary number of system threads (the M:N model). In this way it is possible to carry out rapid context switches in order to take advantage of all CPU cores. So, in a hypothetical web application written in Go a single process will be able to continue serving requests even if one of these is trying to execute a blocked operation.

Node suffers from JavaScript’s less than elegant concurrency support using the event-callback mechanism. However, for a lot of applications working with JS promises and the coming async generator support (also called “semi-coroutines”) will suffice. Something like the Koa framework is already supporting the async generator approach in Node.
 
Ease of use

Node.js is a much simpler platform to use, especially if you are already a JS developer. For Go you will need to learn some new programming concepts, such as: coroutines, channels, strict typing (with compilation), interfaces, structs, pointers, and some other differences.
 
Ecosystem

Both platforms have pretty active and growing ecosystems, but as Node.js has been around much longer and certainly it has a broader community of users and more tools that make certain software projects a lot easier and/or cheaper to implement.

Go is a younger language, however, it dynamically develops: the number of standard Go packages is growing steadily, currently at over 100, and the Go community packages can be searched easily.

In conclusion, I’d like to say that there is no ideal language/framework/tool that could be used by everyone otherwise there would be only one programming language and there wouldn’t be such debates as Go vs Node.js:) Every language is tailored to be used for specific use cases. But we need to admit that there are some things Go performs better in, at the same time it lacks some characteristics that Node.js provides.

And what advantages and disadvantages of using Node.js and Go have you come across?

 

Anna Kozik

Business Development Manager

E-mail: Anna.Kozik@altabel.com
Skype: kozik_anna
LI Profile: Anna Kozik

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

With the coming of Node.js, JavaScript has taken the lead. It is no longer limited to front-end development, and back-end development is no longer super complex for front-end coders. It became a popular and a well-known programming language used by developers in browsers.

Today, Node.js offers one of the most innovative solutions to building servers and web/mobile applications. Its single-threaded event looping and asynchronous, non-blocking input/output processing feature distinguishes it from other runtime environments. Its scope is increasing fast with valuable contributions from developers’ community and other technology giants. Right now, several performance-driven frameworks are being developed using primary principles and approaches of Node.js. These frameworks have extended the functionality of Node.js to a great extent and have also built newer features.

In this article let’s have a look at the frameworks associated with Node.js so that you can choose the one you like.

Express.js

Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. With a myriad of HTTP utility methods and middleware at your disposal, creating a robust API is quick and easy. Express provides a thin layer of fundamental web application features, without obscuring Node.js features that you know and love. Many popular frameworks are based on Express.

Sails.js

Sails is the most popular MVC framework for Node.js. Sails makes it easy to build custom, enterprise-grade Node.js apps. It is designed to emulate the familiar MVC pattern of frameworks like Ruby on Rails, but with support for the requirements of modern apps: data-driven APIs with a scalable, service-oriented architecture. It’s especially good for building chat, real-time dashboards, or multiplayer games; but you can use it for any web application project – top to bottom.

Hapi.js

Hapi.js is a powerful Node.js web framework for building APIs and other software applications. The framework has a robust plugin system and numerous key features, including input validation, configuration-based functionality, implement caching, error handling, logging and more. Hapi.js is used for designing useful applications, such as Postmile, a collaborative list making tool. Besides, it is used for providing technology solutions by several large-scale websites, such as Disney, Concrete, PayPal, Walmart and more.

Koa.js

Koa is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware within core, and provides an elegant suite of methods that make writing servers fast and enjoyable.

Meteor.js

Meteor.js is a real-time application designed to build Web apps that constantly synchronize with the server. Your changes to templates and data flow from the server to the browser automatically. The redrawing and the updating are handled directly by the underlying framework. This works, by the way, in both directions. Your browser code can make changes or write data as if the database is right there. The synchronization happens in the background.

Derby.js

Derby.js is a full-stack MVC framework built for establishing a more solid routine towards creating modern web applications without the need to write complicated code. With Derby you can easily build real-time applications that will run simultaneously in the Node.js server and the browser. The Racer Engine that Derby enables for developers to use is a powerful way of synchronizing your browser, server and database data in real-time amongst all three mediums, enabling you and your app users to experience a true real-time experience. Racer supports offline usage and conflict resolution out of the box, which greatly simplifies writing multi-user applications.

Total.js

Total.js is one of the modern and modular Node.js frameworks supporting model-view controller (MVC) software architecture. It is fully compatible with various client-side frameworks, like Angular.js, Polymer, Backbone.js, Bootstrap and more. Total.js is fully extensible and asynchronous. One great feature of Total.js is that you don’t need any tools like Grunt to compress JavaScript, HTML and CSS. Additionally, the framework has NoSQL embedded database and supports array and other prototypes. It supports RESTful routing mechanism, supports web sockets, media streaming and more.

Restify

Not every application requires full support for a browser. Restify is one of the server-side frameworks designed to serve up data and only data through an API. You fire it up and out comes JSON to everyone who shows up.
Restify places special emphasis on debugging and profiling so that you can drill down and optimize the performance of your server. DTrace is well-integrated and supported to make it possible to watch what happens and when it might go wrong. Restify is available from GitHub under a very basic license that requires little except a notice of copyright.

Web and apps development landscape is changing very fast and developers are shifting to frameworks aiming at quick and clean project delivery. The biggest plus of using node frameworks is that they provide high level readymade structure and you can focus on scaling your application instead of spending efforts in building and defining the basics.

Let us know your experience with Node.js frameworks via comments. Perhaps there are any «new comers» that deserve our attention?

 

Yuliya Tolkach

Yuliya Tolkach

Business Development Manager

E-mail: Yulia.Tolkach@altabel.com
Skype: yuliya_tolkach
LI Profile: Yuliya Tolkach

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

Introducing ASP.NET Core:

ASP.NET Core is a new open-source and cross-platform framework for building modern cloud based internet connected applications, such as web apps, IoT apps and mobile backends. ASP.NET Core apps can run on .NET Core or on the full .NET Framework. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac and Linux. ASP.NET Core is open source at GitHub.

The framework is a complete rewrite that unites the previously separate ASP.NET MVC and Web API into a single programming model.

Despite being a new framework, built on a new web stack, it does have a high degree of concept compatibility with ASP.NET MVC.

ASP.NET Platform exists for more than 15 years. In addition, at the time of System.Web creation it contained a large amount of code to support backward compatibility with classic ASP. During this time, the platform has accumulated a sufficient amount of code that is simply no longer needed and is deprecated. Microsoft faced a difficult choice: to abandon backward compatibility, or to announce a new platform. They chose the second option. At the same time, they would have to abandon the existing runtime. Microsoft has always been a company focused on creation and launch on Windows. ASP.NET was no exception. Now the situation has changed: Azure and Linux occupied an important place in the company’s strategy.

The ASP.NET Core is poised to replace ASP.NET in its current form. So should you switch to ASP.NET Core now?

ASP.NET Core is not just a new version. It is a completely new platform, the change of epochs. Switching to ASP.NET Core can bring many benefits: compact code, better performance and scalability. But what price will be paid in return, how much code will have to be rewritten?

.NET Core contains many components, which we are used to deal with. Forget System.Web, Web Forms, Transaction Scope, WPF, Win Forms. They no longer exist. For simple ASP.NET MVC-applications changes will be minor and the migration will be simple. For more complex applications, which use a great number of .NET Framework classes and ASP.NET pipeline situation is more complicated. Something may work and something may not. Some part of the code will have to be rewritten from scratch. Additional problems may be caused by WebApi, because ASP.NET MVC subsystems and WebAPI are now combined. Many libraries and nuget-packages are not ready yet. So, some applications simply will not have a chance to migrate until new versions of the libraries appear.

I think we are waiting for the situation similar to the transition from Web Forms to ASP.NET MVC. ASP.NET Framework will be supported for a long time. First, only a small amount of applications will be developed on ASP.NET Core. Their number will increase, but sooner or later everyone will want to move to ASP.NET Core. We still have many applications running on the Web Forms. However, no one comes to mind to develop a new application on the Web Forms now, everybody chooses MVC. Soon the same happens to ASP.NET Framework, and ASP.NET Core. ASP.NET Core offers more opportunities to meet modern design standards.

The following characteristics best define .NET Core:

  • Flexible deployment: Can be included in your app or installed side-by-side user- or machine-wide.
  • Cross-platform: Runs on Windows, macOS and Linux; can be ported to other OSes (Operating Systems). The supported OSes, CPUs and application scenarios will grow over time, provided by Microsoft, other companies, and individuals.Command-line tools: All product scenarios can be exercised at the command-line.
  • Compatible: .NET Core is compatible with .NET Framework, Xamarin and Mono, via the .NET Standard Library.
  • Open source: The .NET Core platform is open source, using MIT and Apache 2 licenses. Documentation is licensed under CC-BY. .NET Core is a .NET Foundation project.
  • Supported by Microsoft: .NET Core is supported by Microsoft, per .NET Core Support.

The Bad:

  • As for the “cons” one of the biggest issues are gaps in the documentation. Fortunately most of the things for creating and API are covered, but when you’re building an MVC app, you might have problems.
  • Next problem – changes. Even if you find a solution to your problem, it could have been written for a previous version and might not work in the current one. Thanks to open source nature of it, there is also support available on github. But you get same problems there (apart from searching).
  • Another thing is lack of support in the tooling. You can forget about NCrunch or R# Test Runner. Both companies say they will get to it when it gets more stable.
  • ASP.NET Core is still too raw. Many basic things, such as the Data Access, is not designed for 100%. There is no guarantee that the code you are using now will work in the release version.

The Good:

  • It’s modular. You can add and remove features as you need them by managing NuGet packages.
  • It’s also much easier and straightforward to set up.
  • WebApi is now part of the MVC, so you can have class UserController, which will return a view, but also provide a JSON API.
  • It’s cross-platform.
  • It’s open-source.

ASP.NET Core is the work on the bugs of the classic ASP.NET MVC, the ability to start with a clean slate. In addition, Microsoft also aims to become as popular as Ruby and NodeJS among younger developers.
NodeJS and ASP.NET have always been rivals: both – a platform for backend. But in fact, between them, of course, there was no struggle. The new generation of developers, the so-called hipster developers, prefer Ruby and Node. The adult generation, people from the corporate environment, are on the side of .NET and Java. .NET Core is clearly trying to be more youthful, fashionable and popular. So, in future we can expect the .NET Core and NodeJS to be in opposition.

In its advertising campaign, Microsoft is betting on unusual positions for it: high performance, scalability, cross-platform. Do you think that ASP.NET “crawls” on the territory of NodeJS? Please feel free to share your thoughts with us.

Thank you in advance!

Ref: MICHAL DYMEL – DEVBLOG

 

Darya Bertosh

Darya Bertosh

Business Development Manager

E-mail: darya.bertosh@altabel.com
Skype: darya.bertosh
LI Profile: Darya Bertosh

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

The competition in the server side programming department is getting tougher with each month, especially with the recent popularity of NodeJS. However let`s look how everything began.

PHP appeared about 20 years ago, in 1995 and ever since then it has been a number one language for back-end developers and has gathered a big community behind it. For a long time there wasn’t any good reason why not to use PHP: it`s rather easy to use PHP, it`s supported by the majority of hosting companies and it has become the most commonly used language in terms of number of websites powered by it.

NodeJS was created in 2009 and it was very unique to all the other back end languages. It`s an efficient and scalable software platform that can execute JavaScript code on a server. NodeJS uses event-loops rather than traditional threading, which makes it faster and less memory-intensive than traditional platforms. Thus the ability to use Javascript on both the client and the server and the ability of NodeJS to run asynchronously have undoubtedly lead to the rise of NodeJS and its popularity within developers and customers.

Of course, everyone has his own truth: one coder will praise the speed of NodeJS while the other will be devoted to the stability and long history of PHP. But let`s have a look at strong sides of both for you to decide whether to concern yourself with the so popular nowadays NodeJS or not.

PHP strong sides:

– Huge community and tons of materials for all programmers, from a beginner to an advanced coder.
– Deep code base. The most popular platforms for building websites (WordPress, Drupal, Joomla) are written in PHP. Not only are the platforms open source, but so are most of their plug-ins.
– Easy to find a hosting company. PHP has been the industry standard since the stone age and any hosting company still surviving is bound to be compatible with it. For Node.JS you still need to make a little research.
– Simplicity. PHP can be run inside of the same file as html.
– Speed of coding. For most developers, writing PHP for Web apps feels faster: no compilers, no deployment, no JAR files or preprocessors — just your favorite editor and some PHP files in a directory.
– Mixing code with content. You just open up PHP tags and start writing code. No need for templates, no need for extra files or elaborate architectures.
– No client app is needed. All of the talk about using the same language in the browser and on the server is nice, but what if you don’t need to use any language on the browser? PHP is a way out.

NodeJS strong sides:

– Speed. NodeJS is blazing fast compared to PHP. This is where Node really kicks assJ.
– Separation of Concerns. NodeJS separates fundamental components up giving a clear separation of concern across controllers / routes, models and views.
– New and fresh. It’s newer in comparison to PHP and has been developed by programmers who have full knowledge and understanding of modern web applications, from the server to the client, and that means more modern features.
– Modern syntax. Javascript isn’t perfect and it may drive developers crazy, but overall it’s a modern language that supports modern syntax such as closures, and you can easily extend Javascript and make any object configured to exactly how you need it.
– JSON. NodeJS is a powerhouse for JSON. Accessing SQL is possible and there’s plenty of plugins that make it possible, but JSON is the lingua franca for interacting with many of the latest NoSQL databases.
– Gridlock. NodeJS uses a callback structure to pass logic from one asynchronous call to the next meaning we never have to worry about spawning new threads or even considering the deadlock process. Almost no function in Node directly performs I/O, so the process never block which is a major implication for scalable systems.

That is a difficult decision when it comes up to decide which language or tool to choose. But NodeJS worth considering and it`s proved by the fact that Node is getting more and more popularity every day. And what is your opinion on NodeJS, is it the future of web?

Anna Kozik

Anna Kozik
Anna.Kozik@altabel.com 
Skype ID: kozik_anna
Business Development Manager (LI page)
Altabel Group – Professional Software Development

In the history of computing first Java appeared, then close on its heels came JavaScript. The names made them seem like conjoined twins newly detached, but they couldn’t be more different. One of them compiled and statically typed; the other interpreted and dynamically typed. That’s only the beginning of the technical differences between these two wildly distinct languages that have since shifted onto a collision course of sorts, thanks to Node.js.

If you’re old enough to have been around back then, you might remember Java’s early, epic peak. It left the labs, and its hype meter pinned. Everyone saw it as a revolution that would stop at nothing less than a total takeover of computing. That prediction ended up being only partially correct. Today, Java dominates Android phones, enterprise computing, and some embedded worlds like Blu-ray disks.

For all its success, though, Java never established much traction on the desktop or in the browser. People touted the power of applets and Java-based tools, but gunk always glitches up these combinations. Servers became Java’s sweet spot.

Meanwhile, what programmers initially mistook as the dumb twin has come into its own. Sure, JavaScript tagged along for a few years as HTML and the Web pulled a Borg on the world. But that changed with AJAX. Suddenly, the dumb twin had power.

Then Node.js was spawned, turning developers’ heads with its speed. Not only was JavaScript faster on the server than anyone had expected, but it was often faster than Java and other options. Its steady diet of small, quick, endless requests for data have since made Node.js more common, as Web pages have grown more dynamic.

While it may have been unthinkable 20 years ago, the quasi-twins are now locked in a battle for control of the programming world. On one side are the deep foundations of solid engineering and architecture. On the other side are simplicity and ubiquity. Will the old-school compiler-driven world of Java hold its ground, or will the speed and flexibility of Node.js help JavaScript continue to gobble up everything in its path?

Where Java wins:

1. Rock-solid foundation

I can hear the developers laughing. Some may even be dying of heart failure. Yes, Java has glitches and bugs, but relatively speaking, it’s the Rock of Gibraltar. The same faith in Node.js is many years off. In fact, it may be decades before the JavaScript crew writes nearly as many regression tests as Sun/Oracle developed to test the Java Virtual Machine. When you boot up a JVM, you get 20 years of experience from a solid curator determined to dominate the enterprise server. When you start up JavaScript, you get the work of an often cantankerous coalition that sometimes wants to collaborate and sometimes wants to use the JavaScript standard to launch passive-aggressive attacks.

2. Better IDEs

Java developers have Eclipse, NetBeans, or IntelliJ, three top-notch tools that are well-integrated with debuggers, decompilers, and servers. Each has years of development, dedicated users, and solid ecosystems filled with plug-ins.

Meanwhile, most Node.js developers type words into the command line and code into their favorite text editor. Some use Eclipse or Visual Studio, both of which support Node.js. Of course, the surge of interest in Node.js means new tools are arriving, some of which, offer intriguing approaches, but they’re still a long way from being as complete as Eclipse.

Of course, if you’re looking for an IDE that edits and juggles tools, the new tools that support Node.js are good enough. But if you ask your IDE to let you edit while you operate on the running source code like a heart surgeon slices open a chest, well, Java tools are much more powerful. It’s all there, and it’s all local.

3. Remote debugging

Java boasts incredible tools for monitoring clusters of machines. There are deep hooks into the JVM and elaborate profiling tools to help identify bottlenecks and failures. The Java enterprise stack runs some of the most sophisticated servers on the planet, and the companies that use those servers have demanded the very best in telemetry. All of these monitoring and debugging tools are quite mature and ready for you to deploy.

4. Libraries

There is a huge collection of libraries available in Java, and they offer some of the most serious work around. Text indexing tools like Lucene and computer vision toolkits like OpenCV are two examples of great open source projects that are ready to be the foundation of a serious project. There are plenty of libraries written in JavaScript and some of them are amazing, but the depth and quality of the Java code base is superior.

5. Threads

Fast code is great, but it’s usually more important that it be correct. Here is where Java’s extra features make sense.

Java’s Web servers are multithreaded. Creating multiple threads may take time and memory, but it pays off. If one thread deadlocks, the others continue. If one thread requires longer computation, the other threads aren’t starved for attention (usually).

If one Node.js request runs too slowly, everything slows down. There’s only one thread in Node.js, and it will get to your event when it’s good and ready. It may look superfast, but underneath it uses the same architecture as a one-window post office in the week before Christmas.

There have been decades of work devoted to building smart operating systems that can juggle many different processes at the same time. Why go back in time to the ’60s when computers could handle only one thread?

Where Node wins:

1. Ubiquity

Thanks to Node.js, JavaScript finds a home on the server and in the browser. Code you write for one will more than likely run the same way on both. Nothing is guaranteed in life, but this is as close as it gets in the computer business. It’s much easier to stick with JavaScript for both sides of the client/server divide than it is to write something once in Java and again in JavaScript, which you would likely need to do if you decided to move business logic you wrote in Java for the server to the browser. Or maybe the boss will insist that the logic you built for the browser be moved to the server. In either direction, Node.js and JavaScript make it much easier to migrate code.

2. Build process simplified by using same language

Complicated build tools like Ant and Maven have revolutionized Java programming. But there’s only one issue. You write the specification in XML, a data format that wasn’t designed to support programming logic. Sure, it’s relatively easy to express branching with nested tags, but there’s still something annoying about switching gears from Java to XML merely to build something.

3. Database queries

Queries for some of the newer databases, like CouchDB, are written in JavaScript. Mixing Node.js and CouchDB requires no gear-shifting, let alone any need to remember syntax differences.
Meanwhile, many Java developers use SQL. Even when they use the Java DB (formerly Derby), a database written in Java for Java developers, they write their queries in SQL. You would think they would simply call Java methods, but you’d be wrong. You have to write your database code in SQL, then let Derby parse the SQL. It’s a nice language, but it’s completely different and many development teams need different people to write SQL and Java.

4. JSON

When databases spit out answers, Java goes to elaborate lengths to turn the results into Java objects. Developers will argue for hours about POJO mappings, Hibernate, and other tools. Configuring them can take hours or even days. Eventually, the Java code gets Java objects after all of the conversion.
Many Web services and databases return data in JSON, a natural part of JavaScript. The format is now so common and useful that many Java developers use the JSON formats, so a number of good JSON parsers are available as Java libraries as well. But JSON is part of the foundation of JavaScript. You don’t need libraries. It’s all there and ready to go.

5. Speed

People love to praise the speed of Node.js. The data comes in and the answers come out like lightning. Node.js doesn’t mess around with setting up separate threads with all of the locking headaches. There’s no overhead to slow down anything. You write simple code and Node.js takes the right step as quickly as possible.

This praise comes with a caveat. Your Node.js code better be simple and it better work correctly. If it deadlocks, the entire server could lock up. Operating system developers have pulled their hair out creating safety nets that can withstand programming mistakes, but Node.js throws away these nets.

Where both win: Cross-compiling from one to the other

The debate whether to use Java or Node.js on your servers can and will go on for years. As opposed to most debates, however, we can have it both ways. Java can be cross-compiled into JavaScript. Google does this frequently with Google Web Toolkit, and some of its most popular websites have Java code running in them — Java that was translated into JavaScript.

What is your opinion on what to choose Java or Node.js?

Polina Mikhan

Polina Mikhan
Polina.Mikhan@altabel.com 
Skype ID: poly1020
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Nowadays there are a lot of browsers that users can choose starting with the old standby Internet Explorer and ending with the newer Chrome and Firefox browsers. If none of those browsers is really your cup of tea, you could try a new one. The “novice” is called Vivaldi and it comes from a team that includes the сo-founder and former CEO of Opera John von Tetzchner.

If you used Opera in the past, you might find that Vivaldi feels rather familiar. The overall look of Vivaldi is a mix of a classic browser UI and the more modern interpretations in browsers like Chrome and Microsoft’s upcoming Spartan.

Скриншот 2015-02-03 17.18.12

Vivaldi is filled with awesome features. Here are some of the things you might like when you check out this browser:

  • UI

Vivaldi looks good. The first thing you’ll probably notice is that tabs and menus change colour based on the dominant pallete of your active page. This chameleon effect looks fresh, but it can be turned off if it doesn’t suit your tastes.

  • Speed Dial

Another great thing that everyone loved about Opera was the Speed Dial feature, and that’s also present in Vivaldi.  It allows you to organize websites based on your interests all on one page; e.g. News, Sports, Health, Tech.

  • Tab Stack

Open too many websites at once? Couldn’t find what you wanted under all those excessive tabs? Tab stack helps you to group tabs into themed groups allowing you to maximize tabbed resources without needing to scroll left and right.

  • Quick Command

Vivaldi features quick commands for easy navigation, allowing users to create custom keyboard shortcuts as well. Whether you’re searching through its various settings, from bookmark panel to download panel, a single keyboard shortcut can do the trick. More geek stuff happens when you go straight to settings then click Navigation to customize the shortcuts.

  • Notes

With this function you can easily jot down what’s on your mind while browsing. Notes automatically remember which site you were “looking at” and allow you to add tags for future reference.

Vivaldi has a powerful feature set, but that’s not all. One of the things that makes Vivaldi unique is that it’s built on modern Web technologies. It uses JavaScript and React to create the user interface with the help of Node.js, Browserify and a long list of NPM modules. Vivaldi is the web built with the web.

Right now, the browser is only a technical preview, but there are big plans for Vivaldi in the future. In the coming months, there are plans to add sync, mail support, better performance and extensions. Tatsuki said that Vivaldi will be shaped by the community for the most part, so the feature set will be guided by user demand.

You can download and install Vivaldi on Apple’s Mac, MS Windows and Linux from the web site: https://vivaldi.com/

Can Vivaldi succeed against Chrome, Safari, Firefox, and even Opera? Have you tried the new web browser? Please, share with us your thoughts and experience here below.

 

Kate Kviatkovskaya

Kate Kviatkovskaya

Business Development Manager

E-mail: Kate.Kviatkovskaya@altabel.com
Skype: kate.kviatkovskaya
LI Profile: Kate Kviatkovskaya

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com

Within a short period of time since its initial release in late 2009, Node.js has gained the interest of thousands of experienced developers, grown a package manager and a corpus of interesting modules and applications, and even became the reason for a number of startups to appear. You may have heard about node.js, or read articles claiming how great it is; you may have even read some technically focused explanations on why it is so good.

So let’s try to understand what it is about this technology that makes it interesting to developers. And what the commercial pluses of adopting Node.js when developing and deploying web applications.

I’ve carefully look through a number of forums and experts’ opinions in these regards. Below you could find some main reason why it is worth to use Node.js.

* Node.js is a platform for writing high-performance, scalable web applications and network programs in JavaScript. It has an asynchronous, non-blocking, programming model for lightning-fast speeds and enables the use of JavaScript on the server-side so that both client and server run using the same language.

* Node.js was designed to be great at transporting small bits of information around the Internet very quickly, and in real-time. Server-side events, instant messaging apps, real-time games, and collaboration tools are all great example of this.

* Also the reason to use Node.js is based around the idea of not waiting on things. Instead of waiting for a db query to return results, it just triggers a DB query and sets a callback event. Then, while the query is processing, your program can be doing other things (like handling another request). This is what makes Node.js seem so fast.

* Node.js allows designing of scalable applications at a very high speed. The importance of scaling is going to be at a premium for all applications going forward. One of the secrets to Node’s massive scalability is the event-loop. This construct, which is fundamental to the architecture of Node, provides a completely different model for the handling of client connections than those of traditional web server technologies. The event- loop, which your Node.js applications are naturally built upon, transparently treats the connections from your clients extremely lightly. The memory usage per client is negligible, and as such a single Node.js server can handle hundreds of times more clients than a server with other languages.

* Node.js provides non-blocking libraries for database, file and network access. Since I/O is not a fundamental part of JavaScript, nothing had to be taken away to add them. Python’s Twisted and Ruby’s Event Machine have to work around some basic language components in order to get similar evented behavior.

* In addition to the performance wins Node gets “for free” by using the V8 JavaScript engine, the event loop model itself allows Node servers to handle massive concurrencies in network connections very efficiently. It often approaches the benchmarks achieved by high-performance reverse proxies like Nginx (which is also based on an event loop).

* Unlike PHP, Node.js is not “web centric”. Node.js is a general-purpose JavaScript runtime with a host of powerful libraries — one of which happens to provide an HTTP/HTTPS server implementation. With the Node.js it is easy to build command line clients and other TCP/IP servers. This could characterize Node as a quite flexible one, but at the same time, since Node.js isn’t HTTP-centric, you may find yourself having to implement code to do things once provided for you by the framework.

These are only some of the reasons I could provide and answer the question why this library gains popularity and worth to be working with.

Hope this information would be of interest and of use to you. Please feel free to share your thoughts and opinions why we would need to use Node.js. By the way how you think what to expect for it the future?

 

Natalia Osipchik

Business Development Manager

 

altabel

Altabel Group

Professional Software Development

E-mail: contact@altabel.com
www.altabel.com


%d bloggers like this: