With the new SharePoint on the way there are a lot of new JavaScript frameworks that SharePoint developers need to learn. This is an overview of the major ones:
TypeScript
TypeScript starts from the same syntax and semantics that millions of JavaScript developers know today. Use existing JavaScript code, incorporate popular JavaScript libraries, and call TypeScript code from JavaScript.
TypeScript compiles to clean, simple JavaScript code which runs on any browser, in Node.js, or in any JavaScript engine that supports ECMAScript 3 (or newer).
For more information look here: http://www.typescriptlang.org/
Gulp
- Automation – gulp is a toolkit that helps you automate painful or time-consuming tasks in your development workflow.
- Platform-agnostic – Integrations are built into all major IDEs and people are using gulp with PHP, .NET, Node.js, Java, and other platforms.
- Strong Ecosystem – Use npm modules to do anything you want + over 2000 curated plugins for streaming file transformations
- Simple – By providing only a minimal API surface, gulp is easy to learn and simple to use
For more information look here: https://github.com/gulpjs/gulp
ES2015
As of June 2015, the largest addition to the JavaScript language was finalized. The official name is ECMAScript 2015, sometimes referred to as “ES6”, or now more commonly known as “ES2105”. It is the culmination of years of work and features
For more information look here: https://css-tricks.com/lets-learn-es2015/
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it’s easy to try it out on a small feature in an existing project.
For more information look here: https://reactjs.org/
React Native (for mobile)
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about — learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
For more information look here:https://facebook.github.io/react-native/
Redux
Redux is a predictable state container for JavaScript apps.
It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger.
You can use Redux together with React, or with any other view library.
It is tiny (2kB, including dependencies).
For more information look here: http://redux.js.org/
Aurelia
Well, it’s actually simple. Aurelia is just JavaScript. However, it’s not yesterday’s JavaScript, but the JavaScript of tomorrow. By using modern tooling we’ve been able to write Aurelia from the ground up in ECMAScript 2016. This means Aurelia has native modules, classes, decorators and more at our disposal…and you have them too.
Not only is Aurelia written in modern and future JavaScript, but it also takes a modern approach to architecture. In the past, frameworks have been monolithic beasts. Not Aurelia though. It’s built as a series of collaborating libraries. Taken together, they form a powerful and robust framework for building Single Page Apps (SPAs). However, Aurelia’s libraries can often be used individually, in traditional web sites or even on the server-side through technologies like NodeJS.
Angular 2
Angular 2 is a framework to help us build client applications in HTML and JavaScript.
The framework consists of several cooperating libraries, some of them core and some optional.
Angular 2 using applications by composing HTML templates with Angularized-markup, writing component classes to manage those templates, adding application logic in services, and handing the top root component to Angular’s bootstrapper.
Angular takes over, presenting our application content in a browser and responding to user interactions according to the instructions that are provided.
For more information look here: https://angular.io/
Office Fabric
Fabric is a responsive, mobile-first collection of styles and tools designed to make it quick and simple for you to create web experiences using the Office Design Language.
Yeoman
Yeoman helps you to kickstart new projects, prescribing best practices and tools to help you stay productive.
To do so, Yeoman provides a generator ecosystem. A generator is basically a plugin that can be run with the yo
command to scaffold complete projects or useful parts.
Through our official Generators, Yeoman promotes the “Yeoman workflow”. This workflow is a robust and opinionated client-side stack, comprising tools and frameworks that can help developers quickly build beautiful web applications. Yeoman takes care of providing everything needed to get started without any of the normal headaches associated with a manual setup.
With a modular architecture that can scale out of the box, Yeoman leverages the success and lessons learned from several open-source communities to ensure the stack developers use is as intelligent as possible.
As firm believers in good documentation and well thought out build processes, Yeoman includes support for linting, testing, minification and much more, so developers can focus on solutions rather than worrying about the little things.
For more information look here: http://yeoman.io/
Node
As an asynchronous event driven JavaScript runtime, Node is designed to build scalable network applications. In the following “hello world” example, many connections can be handled concurrently. Upon each connection the callback is fired, but if there is no work to be done Node is sleeping.
For more information look here: https://nodejs.org/en/
Cordova
Cordova JavaScript: a unified JavaScript layer for the Cordova suite of projects enabling cross-platform native mobile development of applications using HTML, CSS and JavaScript
For more information look here: https://github.com/apache/cordova-js