28 Jul 2015
Open source big players:
Contibute to many open source projects with JavaScript, Java, C++, Python, PHP etc.
-
React
-
react-native
-
flux
-
relay
-
folly
-
HHVM
-
immutable-js
-
nuclide
-
rocksdb
-
flow
-
jest
-
watchman
-
fresco
-
GraphQL
-
regenerator
Java, Android, Python, Go, JavaScript, Material Design etc.
-
AngularJS
-
material-design-lite
-
traceur-compiler
-
protobuf
-
WebFundamentals
-
guava
-
bazel
-
gxui
-
web-starter-kit
-
webkit
-
gson
-
go
-
closure-library
-
lovefield
-
tensorflow
JavaScript
Scala in depth, Java, CSS, JavaScript etc. But seems Twitter is moving from Scala to Java now.
-
BootStrap
-
twemoji
-
finagle
-
typeahead.js
-
flight
-
kestrel
-
mysql
-
hogan.js
-
commons
Java, Android, JavaScript especially in time-series data processing, also Go.
-
retrofit
-
okhttp
-
dagger
-
picasso
-
okio
-
otto
-
crossfilter
-
tape
-
cube
-
cubism
-
leakcanary
-
wire
-
sqlbrite
Java, JavaScript, Go, Python
-
Rest.li
-
PalDB
-
dustjs
-
databus
-
hopscotch
JavaScript, CSS, Java
-
tether
-
offline
-
shepherd
-
messenger
-
pace
-
vex
-
youmightnotneedjquery
-
odometer
JavaScript in depth. Python etc
-
pdf.js
-
localForage
-
popcorn-js
-
rhino
-
nunjucks
-
metrics-graphics
-
sweet.js
-
togetherjs
Netflix is a big player with Java,Scala,Gradle.
Handcraft website, Java, Python, Go etc.
-
statsd
-
deployinator
-
hound
-
logster
-
skyline
25 Jul 2015
Intellij IDEA is a great IDE for Java development.
But sometimes IDEA14.1.4 will show many error messages for OSGi modules as this:
The package xxx is not imported in the manifest
You could resolve that by doing this:
File -> Settings -> Inspections -> OSGi -> Package accessibility, change the defulat sevirity “error” to “warning” or “info”
19 Jul 2015
ES6 is coming, but still a long way till all popular browsers full support it.
There are some ES6 to ES5 transpiler for now.
Default/Rest Parameters
Template String
Class
Arrow Function
Promise
Generators
let & const
for .. of
Modules
Map & Set
Babel
Babel formerly known as 6t05, is the most popular JavaScript compiler:
Install Babel is rather easy:
npm install -g babel
Then you can compile ES6 JavaScript to ES5 code:
babel es6-source.js –out-file es5-build.js
Traceur
Traceur is a JavaScript.next-to-JavaScript-of-today compiler.
It is rather simple to use Traceur in browser:
<!DOCTYPE html>
Microsoft’s JavaScript superset,support ES6. With command line tools, you could transpile .ts to .js file very easy.
Good IDE support with VS Code etc.
Same as TypeScript
AtScript
Same as TypeScript,develop with Augular2.
dart2js
Dart to JS compiler.
Reference:
14 Jul 2015
There are several open source Git tools which allow you to create your private Git services.
GitLab
GitLab is the most famous one, hosted at GitHub.
-
Powerful Code Review: Merge requests with line-by-line comments, CI and issue tracker integrations and much more
-
LDAP user authentication (also compatible with Active Directory)
-
Ability to fork a repository
-
Project importing from GitHub to GitLab
It also has an Enterprise Edition with many new features.
Gogs
Gogs is a Chinese project written with Go language.
-
Easy Installation
-
Cross Platform
-
Open Source at Github
GitBucket
GitBucket
-
Public / Private Git repository (http and ssh access)
-
Repository viewer and online file editing
-
Repository search (Code and Issues)
-
Wiki
-
Issues
-
Fork / Pull request
-
Mail notification
-
Activity timeline
-
User management (for Administrators)
-
Group (like Organization in Github)
-
LDAP integration
But still lacks features:
-
Network graph
-
Statistics
-
Watch / Star
Reference
14 Jul 2015
Swiss Knife for front end Web development
Scaffolding
Yeoman
Yeoman provide a generator ecosystem, helps you to kickstart new projects, prescribing best practices and tools to help you stay productive.
A generator is basically a plugin that can be run with the yo
command to scaffold complete projects or useful parts.Yeoman provided official generators for the most pupular frameworks,such as AnguarJS,Backbone, Polymer etc.
The Yeoman workflow comprises three types of tools for improving your productivity and satisfaction when building a web app: the scaffolding tool (yo), the build tool (Grunt, Gulp, etc) and the package manager (like Bower and npm).
It is rather hard to install Yeoman under Windows and China, something to be comment here:
-
change npm registry source: npm config set registry https://registry.npm.taobao.org
-
install yo: npm install -g yo
-
Manually add this path to Windows PATH: C:\Users\Simon\AppData\Roaming\npm
Dependency management
Bower
Bower is the package manager for Web.
NPM
NPM is the package manager for Node.It comes with Node now.
Browserfy
Browsers don’t have the require method defined, but Node.js does. With Browserify you can write code that uses require in the same way that you would use it in Node by bundling up all of your dependencies.
Build Systems
WebPack
webpack is a module bundler.
webpack takes modules with dependencies and generates static assets representing those modules.
Grunt
Grunt is the JS task runner, same as Ant for Java.The less work you have to do when performing repetitive tasks like minification, compilation, unit testing, linting, etc, the easier your job becomes.
Grunt use the Gruntfile.js or Gruntfile.coffee configuration file, which is a valid JavaScript or CoffeeScript file that belongs in the root directory of your project.
Gulp
Gulp is another JS task runner, which use Node streaming build system and aims to replace Grunt.
By preferring code over configuration, gulp keeps things simple and makes complex tasks manageable.
Brunch
Brunch is a builder. Not a generic task runner, but a specialized tool focusing on the production of a small number of deployment-ready files from a large number of heterogenous development files or trees.
Brunch also support Skeletons which is basically an application boilerplate that provides a good starting point for new applications, same as Yeoman generator does.
Broccoli
Broccoli is a less popular, fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.
jspm
SystemJS
RequireJS
Test
Mocha
Karma
PhatomJS
Jasmine
Chai
Jest
Sinon.js
ESLint
JSLint
Reference