每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;微博:https://weibo.com/openingsource;电报群 https://t.me/OpeningSourceOrg

2018年10月13日:开源日报第219期

今日推荐开源项目:《美少女梦工厂以及更多 chinese-dos-games》传送门:GitHub链接

推荐理由:这个周末,在浏览器上重拾你的回忆,重新体验三国演义,美少女梦工厂这些游戏,实际上已经有人肝了一整天的美少女梦工厂了……不过,我是说,这个画面看起来真的很古老了不是吗?

2018年10月13日:开源日报第219期

今日推荐英文原文:《Top 10 Java Script Frameworks》作者:Lokesh Gupta

原文链接:https://medium.com/@glokesh94/top-10-java-script-frameworks-e213efd7b54c

推荐理由:介绍了一些好的 JS 框架,兴许说到这个大家可能都会想到 Angular Vue React 这三个,实际上除了它们之外,也有不少好的框架

Top 10 Java Script Frameworks

JavaScript (JS) frameworks are one of the most preferred platforms to build a dynamic modern application, real-time chat, eCommerce, inventory, processing and much more.

Small or enterprise, front-end or backend — JS is well suited for everything. You might have heard about the following sites which are using JavaScript.

2018年10月13日:开源日报第219期

AngularJS
Angular.js is a popular open-source front-end development framework which is mainly used for developing dynamic single-page web applications (SPA).

AngularJS transfers all the contents from the server to the browser along with loading all the web pages simultaneously. Once the contents are loaded, clicking on any link on the page does not reload the entire page content; instead, it simply updates the sections within the page.

React
React is a library used for developing UI applications. It was released in 2013 and has been a fastest growing JS framework in today’s world.

React.js is most preferred when a high performing enterprise application needs to be delivered to its users. It is powered by user interfaces like that of Instagram and Facebook.

9 Things for Beginner About ReactJS

There has been a constant war between choosing Angular and React. React is more flexible when compared to Angular since developers will have to work with independent libraries with comparatively better response time. React is excellent when it comes to handling small and stateless functions that receive an input and return elements as their output. It focuses on JS ES6, and Flow can be used to enable type-checking in React.

Every project in React has a different architecture along with limited guidance and hence, it is easy to go wrong. React is mainly used for the V (view) in the MVC model since the UI can be updated without having to reach out to the server and fetch a new view.

Ember.js
Ember is also an open-source framework that lets developers create a single page and large web applications. Ember has been a highly opinionated framework which was built to be very flexible.

While Angular and React are flexible and less opinionated, Ember makes a lot of assumptions about the application and makes a developer confirm to its expectations.

A complete development stack can be formed by using Ember and other important tools. Ember has a widget based approach called as Ember components. Handlebars layout and Ember’s backend architecture allows writing developers own application-specific HTML tag.

Handlebars integrated templates update automatically when the underlying data changes along with significantly lesser coding. Websites like LinkedIn, Vine and Live make use of Ember. It is also used to build desktop and mobile applications.

One of the most notable uses of Ember is in Apple Music, the desktop application. Ember has a powerful routing system when compared to React or Angular.

In case of updates, Ember is ahead of many frameworks, with new features being frequently added.

Vue.js
Vue.js was released in 2014 and is the fastest growing framework adopted by developers. It is a lightweight progressive JS framework which gets a lot of its concepts from ReactJS and AngularJS.

It has a template style similar to Angular and has component based props just like ReactJS. Vue provides an easy and fast fix for applications, UI, and an interactive web interface development. It can power advanced single page web applications.

The most significant advantage of choosing Vue over React is that in Vue, the component’s dependencies are tracked automatically during its rendering. Thus, the system knows which component needs to be re-rendered when a state changes.

This prevents extra work needed for optimization and lets the developer focus more on building the app.

Backbone.js
Backbone.js is a lightweight JavaScript library which was initially released in 2010and has been a flexible framework for structured code since then. It lets developers develop single page web applications and client-side applications that run in a web browser.

It offers MVP network, which abstracts the data into models, Document Object Model (DOM) into views and binds these two using events.

Unlike other frameworks, Backbone puts the developer in charge of choosing the right tool that works best for a given project. A templating engine of its own does not exist in Backbone.

Companies like Sony Entertainment Network, Airbnb, and SoundCloud use Backbone.js for their projects. Companies and developers use Backbone due to its ability to use any code as its controller while keeping the controller optional.

Mithril.js
Mithril, a lesser known JS library is the modern JavaScript framework which is used for creating single-page applications on the client-side.

It is tiny (less than 8KB gzip), fast, provides routing and XHR utilities. It supports all the browsers like IE9 without the requirement of any polyfills.

Mithril is currently being used by companies like Nike and Fitbit and other open source platforms like Lichess. Mithril makes use of sophisticated and optimized virtual DOM algorithm to minimize the amount of DOM updates.

It also creates vnode data structures that are compiled using JavaScript engines for data structure access performance.

The reason why Mithril supports a rendering model which recreates the whole of virtual DOM tree is to provide a declarative API which makes it easier to manage UI complexity. Mithril is known to be pragmatic since it is straightforward to learn components, routing and XHR in less than 15 minutes to start building applications.

Mithril has in-built modules for XHR and routing while React needs third parties for the same along with a lot of memory usage. Also, the library load time and update performance of Mithril is fast when compared to React or Angular or even Vue! Vue.js’ size, also being small and compact, is still larger than Mithril. Unlike Vue, Mithril has lesser concepts and organizes apps regarding data layers and components.

Polymer.js
Polymer is yet another open-source JavaScript library for building web applications using Web components. This library is developed by Google developers and has contributors on GitHub. Unlike any other JavaScript framework, Polymer is built to leverage the features that are present in the web platform to let developers build components. It was the very first library to allow interactive building applications by composing components.

Polymer is used by a lot of Google services and websites. It is being used by YouTube, Google Play Music and Netflix, to name a few. The polymer has started to gain recognition in the market with a lot of attention given to its structured design process. Since components are the biggest strengths of Polymer, it has better support for web components and has better offline modules when compared to React.

The power of React and Polymer can be used to have a more component-oriented future for web development. Polymer ‘s components and Angular’s directives show some kind of similarity but have a different approach to create custom HTML elements.

Node.js
Node.js is one of the most downloaded, an open source, a cross-platform runtime environment for executing JavaScript code outside of a browser. It is used for building back-end services or APIs and developing server-side and networking applications. It is a platform which is built on Google Chrome’s JavaScript Engine (V8 Engine).

The applications built on Node, are written in JavaScript which can be run within the Node.js runtime on OS like Microsoft Windows, Linux as well as MacOS. Check out some of the best Node.JS managed hosting platforms too.

Meteor.js
MeteorJS is an open-source, full-stack and free JavaScript framework which is written using Node.js. It allows rapid prototyping and creates cross-platform codes. It is fast in developing smaller and reactive applications on the Node.js platform. Meteor uses a front-end JavaScript that runs on the browser and back-end on meteor server within Node.js.

Meteor integrates with other JavaScript frameworks such as React, Express and Angular. It also integrates with MongoDB and Cordova technology to build hybrid applications using HTML, CSS, and JS which run on WebView.

With Meteor, applications for any device can be developed with a lesser amount of coding in just one language that is JavaScript. This is the kind of UI most of the companies are looking for. Companies like Mazda, Honeywell, and Qualcomm use Meteor. It uses data on the wire which means that the server sends data and not the HTML while client renders it.

Aurelia
Aurelia is a collection of open source modern JavaScript modules and is called as the “next-gen UI framework” written in ECMAScript. Sponsored by Blue Spire, it serves as a robust platform for building browser, desktop, and various mobile applications. Aurelia has been gaining a lot of recognition ever since its launch. Companies like Freska, Ordami and BTEK Software make use of Aurelia in their projects.

Not to forget, Aurelia is the only framework that lets developers build components with plain, Vanilla TypeScript or JavaScript. Aurelia has been said to have overtaken Angular regarding modularity.

Since Angular has all of its components bundled into one large pack, it becomes difficult to remove or change components in this architecture. Aurelia, on the other hand, consists of a vast collection of libraries that work together using well-defined interfaces so that it turns out to be completely modular.


每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;微博:https://weibo.com/openingsource;电报群 https://t.me/OpeningSourceOrg