Due to the emergence of the Internet, web development seems to have been fire, spawned a variety of GitHub on the wheels of JS, all kinds of repetition, various frameworks and libraries, what jquery,bootstrap and so on. In the face of so many frameworks and libraries what should we do on the project (trade-off)? The birth of each framework will basically have its own "new concept", mainly to solve some problems. For example, if you write more native JS, a lot of repetitive operation is tedious to write, you can consider using jquery, because jquery is some classic, commonly used JS code collection, which is to help you encapsulate a lot of functions, in fact, it is mainly a DOM wrapper, A library with DOM operations as its core.
Jquery-------Some of the classic JS packages to manipulate the DOM as the core concept of the library. And there are a lot of plugins, components, writing tables and various UI controls around it that help you a lot. The advantage is to help you solve a lot of browser compatibility issues and various bugs. But the goods are almost out of date, but it doesn't mean they can't be used.
Zepto.js------------is also some classic JS package, but mainly for mobile phone browser launched. Like jquery.
CSS for programming-------less, Sass, Stylus, absurd
Bootstrap-------Twitter, is a collection of classic js,css,html, used as a programmer who does not understand the front-end art to quickly make a look at the past of the application. There are various buttons or other CSS examples.
The structure of the code is not good----------------can consider backbone.js (based on MVC), Angularjs and Ember.js (MVVM), Twitter also engaged in an event-driven framework flight (https:// Github.com/flightjs/flight)
The library needs to be optimized for loading-------------------with Requirejs
Code quality problem, need to do unit test---------Jasmine,qunit,mocha,karma (all kinds of browser test)
Think JS trouble------------with Coffescript
Do animation, canvas,svg or CCS3, kill flash,svg too difficult to draw? Want to develop a game with snap.svg? Using canvas, do you write your fps too low? With createjs,2d, you can't pretend to be a force? Use Three.js to help you develop 3D with WebGL. It's not enough? With Asm.js, you can also be in the browser with Unrealenginne 3.
Want to use web technology to do PC desktop applications, abandon QT? With Node-webkit. Want to use JS to write server side? With node. JS (which is designed for high concurrency scenarios, but the backend business logic scenario is still done in a static language like Java), node. JS is great, and many large, high-concurrency sites use it.
Said so much, in fact, the front wheel many, do not have to build their own, basically. But Js,css,html's skills must be firmly in the open. I am also now learning to sell a little.
Web Front-end development