Skip to content

Latest commit

 

History

History
232 lines (163 loc) · 12.7 KB

javascript.md

File metadata and controls

232 lines (163 loc) · 12.7 KB

JavaScript 资源汇总

精彩文章

A re-introduction to JavaScript*
https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript
Why a re-introduction? Because JavaScript is notorious for being the world's most misunderstood programming language. While often derided as a toy, beneath its deceptive simplicity lie some powerful language features, one that is now used by an incredible number of high-profile applications, showing that deeper knowledge of this technology is an important skill for any web or mobile developer.

The [real] problem with JavaScript
https://medium.com/unhandled-exception/the-real-problem-with-javascript-6b78cad97b6e
https://medium.com/@wob/the-sad-state-of-web-development-1603a861d29f
讨论 JS 、Web 开发、前端生态,起因是第2篇文章,观点挺偏激的,引发了激烈地讨论,不过的确指出了 Web 生态圈面临的一些问题。第1篇文章比较中肯,作者也在试图建立一个知识库来解决技术选型问题,这是他采集信息的一个调研: Should I Use。这两个文章还引申出两个有意思的东西:Magpie DeveloperThe programming language cycle

The Single Biggest Mistake Programmers Make Every Day
https://medium.com/javascript-scene/the-single-biggest-mistake-programmers-make-every-day-62366b432308
I believe the single biggest mistake that every programmer makes from time to time is overcomplicating things. Simplify your code. Start with the least complicated implementation and work your way toward more complex solutions only when the problem demands it. Remember:

  • Keep It Stupid Simple (KISS)
  • Make it work, make it right, make it fast.
  • Understand the problem. (Know what “make it work” means.)
  • Begin at the beginning.
  • Start with tests.
  • Do One Thing (DOT).
  • Start small and iterate.
  • Pure function > Function > Factory > Class
    Simple beats clever every day of the week.

How do Promises Work?
http://robotlolita.me/2015/11/15/how-do-promises-work.html
In this blog post we’ll look at what promises are, how they work, and why you should or shouldn’t use them.

JS 语言进化

  • JSX JSX is a statically-typed, object-oriented programming language designed to run on modern web browsers.
  • TypeScript
  • CoffeeScript 增强了JavaScript的简洁性与可读性,但对 js 改造太大,并不适合在大团队使用
  • ELM the best of functional programming in your browser

应用框架

一些专注于 Web 应用如何开发的框架

  • cycle.js A functional and reactive JavaScript framework for cleaner code
  • vuejs Vue.js is a library for building interactive web interfaces.
    It provides data-driven components with a simple and flexible API.
  • wayjs Simple, lightweight, persistent, framework-agnostic two-way databinding Javascript library (with no to little JS code to write).
  • http://t3js.org/
  • https://github.com/hyperapp/hyperapp

Strudel.js
http://strudeljs.org/
Strudel (/ˈstruːd(ə)l/) is a lightweight component framework. Declarative API is introduced thanks to Angular-style decorators. Main target for Strudel are interactive websites, not especially web applications, as there are plenty frameworks that solves apps problems nicely (React, Angular, Vue). On the other hand Strudel biggest goal is to provide great way of writing interactive bits on pages like tabs, accordions and carousels in server-side rendered websites. It’s time to get rid of jQuery and start writing modern and lightweight code.

jquery edit in place plugin

generate form from json

数据表格

  • Handsontable: Handsontable is a minimalistic Excel-like data grid editor for HTML, JavaScript & jQuery

Jquery插件

  • jCarousel Lite : jCarousel Lite is a jQuery plugin that carries you on a carousel ride filled with images and HTML content. Put simply, you can navigate images and/or HTML in a carousel-style widget. It is super light weight, at about 2 KB in size, yet very flexible and customizable to fit most of our needs.

JS parser

UI Framework

mobile webapp :

  • Ionic : Create amazing apps The beautiful, open source front-end framework for developing hybrid mobile apps with HTML5.
  • Onsen UI : The Answer to PhoneGap UI Development. A Custom Elements-Based HTML5 UI Framework.
  • Webix : Build rich UI in a few lines of code.
  • Sencha Touch
  • Kendo UI : Everything you need to build sites and apps with pure JavaScript and HTML5.
  • https://github.com/makeusabrew/bootbox Bootbox.js is a small JavaScript library which allows you to create programmatic dialog boxes using Bootstrap modals
  • https://github.com/hubspot/vex Vex is a modern dialog library which is highly configurable, easily stylable, and gets out of the way.

pc :

Game

  • Egret Engine : Egret Engine(白鹭引擎)是一款使用TypeScript语言构建的开源免费的移动游戏引擎。白鹭引擎的核心定位是开放,高效,优雅。通过它,你可以快速地创建HTML5类型的移动游戏,也可以将游戏项目编译输出成为目标移动平台的原生游戏应用。
  • Turbulenz Engine : Turbulenz is an HTML5 game engine and server-side APIs available in JavaScript and TypeScript for building and distributing 2D and 3D games that run on platforms that support HTML5 features such as modern browsers without the need for plugins.

lib

数据可视化

Sigma.js: a JavaScript library for graph drawing
http://sigmajs.org/
Sigma is a JavaScript library dedicated to graph drawing. It makes easy to publish networks on Web pages, and allows developers to integrate network exploration in rich Web applications.

Plotly.js - JavaScript library for scientific interactive charts
https://plot.ly/javascript/open-source-announcement/
https://github.com/plotly/plotly.js/
Today, Plotly is announcing that we have open-sourced plotly.js, the core technology and JavaScript graphing library behind Plotly’s products (MIT license). It's all out there and free. Any developer can now integrate Plotly’s library into their own applications unencumbered. Plotly.js supports 20 chart types, including 3D plots, geographic maps, and statistical charts like density plots, histograms, box plots, and contour plots.

angular

http://jeff-collins.github.io/ment.io/ Mentions and Macros for Angular

embeddable Javascript engine

http://www.duktape.org/
http://cylonjs.com/

企业级应用组件

WebODF
http://webodf.org/
WebODF is a JavaScript library that makes it easy to add Open Document Format (ODF) support to your website and to your mobile or desktop application. It uses HTML and CSS to display ODF documents.

dhtmlx
http://dhtmlx.com/
A cross-browser JavaScript library for building rich Web and Mobile apps

Webix http://webix.com/
Webix provides a great number of JavaScript UI widgets with a pefect look and feel great on various devices. All of them can be effortlessly customized in accordance with your preferences thanks to the rich and clear API.

Editor

ProseMirror 1.0
http://marijnhaverbeke.nl/blog/prosemirror-1.html
ProseMirror is a Web interface component, and though some of the challenges it tackles are specific to the strengths and (especially) weaknesses of the Web platform, don't think of it as another TinyMCE alternative. Rather, it is a more general take on rich text editing that happens to be implemented in JavaScript for the browser.

Slate.js
https://github.com/ianstormtaylor/slate
Slate lets you build rich, intuitive editors like those in Medium, Dropbox Paper or Canvas—which are becoming table stakes for applications on the web—without your codebase getting mired in complexity. It can do this because all of its logic is implemented with a series of plugins, so you aren't ever constrained by what is or isn't in "core". You can think of it like a pluggable implementation of contenteditable built on top of React and Immutable. It was inspired by libraries like Draft.js, Prosemirror and Quill.

bootstrap-wysihtml5
http://jhollingworth.github.io/bootstrap-wysihtml5/
Simple, beautiful wysiwyg editors bootstrap-wysihtml5 is a javascript plugin that makes it easy to create simple, beautiful wysiwyg editors with the help of wysihtml5 and Twitter Bootstrap 相近的: http://mindmup.github.io/bootstrap-wysiwyg/

TinyMCE
http://www.tinymce.com/
TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL. TinyMCE has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.

UI Framework

http://demos.telerik.com/kendo-ui/

异步编程

Zone.js
https://github.com/angular/zone.js
Implements Zones for JavaScript, inspired by Dart. A Zone is an execution context that persists across async tasks. You can think of it as thread-local storage for JavaScript VMs.
这个库会在 angular 2.0 中使用。

tools

数据模拟

json-server
https://github.com/typicode/json-server
Get a full fake REST API with zero coding in less than 30 seconds (seriously)

编译构建

codekit

babel
http://babeljs.io/
Babel is a JavaScript compiler. Use next generation JavaScript, today.

JSPM
jspm is a package manager for the SystemJS universal module loader, built on top of the dynamic ES6 module loader

混淆

browser-based

基于浏览器内核的一些工具,可用在测试、竞品等环节

Services

其它