more value effectively
It was primilary used to make page elements... blink!
A lot has changed since then, now
The language is pervasive in our browsers, our operating systems and tomorrow in the Internet of Things.
This chart shows performance on the Kraken benchmark, for browsers from Firefox 3.5 to Chrome 23, on the same hardware.Kraken Benchmark performance
The official package manager for Node.js is npm. Over the last year it has grown to the tune of 10x in packages and traffic.Monthly added modules
We are currently witnessing two major changes on the software development industry which lead to a certitude:
The browser becomes the evident and trusted execution platform.
This process is not new but solutions (like React and D3.js) are now mature and ready for serious business.
Gigantic amounts of data that are being generated on a daily basis let us think that
Big Data is a big deal.
With the impending rise of wearable technology and The Internet of Things, it appears the pace of data creation will only increase.
This has lead big data analysts to posit that
Data is the new Oil.
The ability to understand and extract value from data is hugely easier and efficient when done through a Data Visualization process rather than from looking at the raw data. It exposes something new about the underlying patterns and relationships contained within the data.
D3.js is not a graphics library, nor a data processing library. It does not have pre-built charts that limit creativity. Instead, it has tools that make the connection between data and graphics easy. It sits right between the two, the perfect place for a library meant for data-visualization.
Gmail, first released in 2004, was a pioneer as a rich web application.
Crafting such applications was considered expensive to develop and complicated to maintain, and only big web players like Google were able to invested in it.
Since then numerous frameworks were created; EmberJS, BackboneJS, KnockoutJS are the most recognized, and among them
React are becoming predominant for professional web development.
AngularJS is built by Google which has one of the strongest engineering culture.
Combine that with the resources that they have and with the power of open source and you get a really powerful mix.
Having the ability to scaffold a project quickly with all that you need is key to getting started and producing efficiently. AngularJS came about to standardize web application structure and provide a future template for how client-side apps should be developed. This not only allows you to quickly assemble something up, but it lays the roots for something way bigger to evolve.
Having testable code is part of AngularJS philosophy.
Making it easy to write tests is crucial.
No matter how good the code is – if it’s not testable, it’s useless in the long run.
React is now open source, but it was first developed at Facebook for internal purposes. After a while, Facebook engineers realized that they created something truly awesome and decided to share their project with the world. It is currently, in addition to Facebook, used by Instagram, The New York Times and Khan Academy in production.
React creates its own virtual DOM where the components actually live. This approach gives an enormous flexibility and an amazing gains in performance because React calculates what changes need to be made in the DOM beforehand and updates the DOM tree accordingly. This way, React avoids costly DOM operations and makes updates in a very efficient manner.
React gives the ability to create our own components that can be later reused and combined. This is a tremendeous productivity boost and let React scale better with complexity by only dealing with small components with encapsulated behavior.
Created in 2009, it definitely left the early adopters behind to become a fully operational software platform for scalable server-side and network applications.
Node.js is in competition with Java, .Net, Python, Ruby and PHP solutions and has already be chosen by a number of large companies including
Groupon, Oracle, SAP, LinkedIn, Microsoft, Yahoo!, Walmart and PayPal.
Paypal chose to migrate one of its most trafficked apps of from Java to Node.js. They double the requests per second and decrease by 35% the average response time.
Groupon has decrease by 50% the loading time of their pages after rewrote their application server with Node.js.
We became 6 times faster after a migration from MySQL/Rails to MongoDB/Node.js.
LinkedIn moved from Rails to Node.js and have a 27 servers cut (on 30).
The ability to process many requests/seconds with low response times make Node.js a great choice for modern web applications that do lots of I/O processing on the client.
Paypal observes that a Node.js application is built almost twice as fast with fewer people.
The Node.js ecosystem is extremely prolific: new tools appear almost every day, increasing productivity. More than 475000 modules are currently available and its growth rate is faster than other’s ecosystems.
and using one language allows code reuse between client and server, reducing the gap among front-end and back-end developers, introducing full stack developers.
One language all the way down makes it easier for a single programmer to work on either side of the wire; there's less of a mental shift.
For project managers, the trend would make it easier to move developer resources between the front end and the back end if a common language is used on both.
There are numerous domains where Node.js can be the right choice (if not the best): Rich Web Applications, Data-Visualization, E-Commerce, Payment processing, Social media, Real-time services.
By mastering streams, Node.js has all the keys to perfectly handle medias (videos, audios).
In addition, choosing Node.js is the guarantee to attract great developers, who are versatile, agile and able to build great applications in less time due to their broad spectrum of knowledge and skills.
A NoSQL database environment is a non-relational and largely distributed database system that enables rapid, ad-hoc organization and analysis of extremely high-volume, disparate data types.
Big Data is one of the key forces driving the growth and popularity of NoSQL for business.
The almost limitless array of data collection technologies ranging from simple online actions to point of sale systems to GPS tools to smartphones and tablets to sophisticated sensors – and many more – act as force multipliers for data growth.
But you don't need to be Google or having Big Data problem to take benefits of NoSQL databases.
Because the way they are structured, relational databases usually scale vertically – a single server has to host the entire database to ensure reliability and continuous availability of data. This gets expensive quickly, places limits on scale, and creates a relatively small number of failure points for database infrastructure.
The solution is to scale horizontally, by adding servers instead of concentrating more capacity in a single server. NoSQL databases are cloud-friendly, offering high performance, high availability of data and high scalability at a little cost.
Long gone is the twelve-to-eighteen month waterfall development cycle. Now small teams work in agile sprints, iterating quickly and pushing code every week or two, even every day. Relational databases requires schemas and may cause significant downtime each time a migration is needed. NoSQL databases are built to allow the insertion of data without a predefined schema. That makes it easy to make significant application changes in real-time, without worrying about service interruptions – which means development is faster, code integration is more reliable, and less database administrator time is needed.
MongoDB is free, no more license.
Deploying MongoDB drastically lowers operational costs, since it's free, it's reduce administration time and it's speed up development time because it maps directly stored data to objects in modern object-oriented languages.
MongoDB is technically on the cutting edge, has the largest and the most active community and is backed by a solid company even if the technology is open-source. We also have a 7 man-year experience implementing a portfolio management system that relies on MongoDB, that make us confident and fluent about the technology.