Movatterモバイル変換


[0]ホーム

URL:


Hayato Mizuno, profile picture
Uploaded byHayato Mizuno
10,420 views

"今" 使えるJavaScriptのトレンド

The document discusses various JavaScript tools and techniques. It covers topics like transpilers like CoffeeScript and Babel, module bundlers like Browserify, task runners like Grunt and Gulp, linting with ESLint, unit testing with Mocha and Assertions, MV patterns like Flux, and components with React. It provides links to documentation and resources for learning more about each topic.

Embed presentation

https://flic.kr/p/m9738vLearn JS in Kanazawakakenai.js ver.1.0
https://flic.kr/p/npvsQJ
@pocotan001Hayato Mizuno
https://frontendweekly.tokyo/
http://blocsapp.com/
http://electron.atom.io/
http://electron.atom.io/
https://flic.kr/p/9gpNkP
https://flic.kr/p/dSuxV1Choose JS Tools Today
EditorConfighttp://editorconfig.org/
root = true![*]indent_style = spaceindent_size = 2trim_trailing_whitespace = true![*.md]trim_trailing_whitespace = false.editorconfig
黒い画面
command -options argumentssh
command -options arguments!coffee -wc a.coffeesh
command -options arguments!coffee -wc a.coffee# coffee -w -c a.coffee# coffee --watch --compile a.coffeesh
パッケージマネージャー
&
npm i -g xxx# npm install —-global xxx
https://goo.gl/2Uq21Xその他56%grunt4%pm24%gulp7%bower11%grunt-cli18%
~/…lib # npm root -gnode_modulescoffee-scriptnpm i -g coffee-scriptcoffee …sh
your-projectnode_modulescoffee-scriptnpm i coffee-scriptcoffee …# command not found: coffeesh
your-projectnode_modulescoffee-scriptnpm i -D coffee-scriptsh—save-devpackage.json
{…"dependencies": { … },"devDependencies": {"coffee-script": "^1.9.2"}}package.json
your-projectnode_modulescoffee-scriptnpm i -S jquerysh—savepackage.jsonjquery
{…"dependencies": {"jquery": "^2.1.4"},"devDependencies": {"coffee-script": "^1.9.2"}}package.json
https://plugins.jquery.com/
https://plugins.jquery.com/We recommend moving to npm,using "jquery-plugin" as thekeyword in your package.json.
http://blog.npmjs.org/post/101775448305/npm-and-front-end-packaging
https://speakerdeck.com/watilde/npm-update-g-npm
モジュールローダー
http://browserify.org/
var $ = require('jquery');!console.log($.fn.jquery); // 2.1.4a.js
npm i -g browserifybrowserify a.js -o bundle.js# your-project/bundle.jssh
Browserify WebPack
https://gist.github.com/substack/68f8d502be42d5cd4942
タスクランナー
npm i -g grunt-clinpm i –D grunt grunt-contrib-coffeegrunt buildshnpm i -g gulpnpm i –D gulp gulp-coffeegulp build
module.exports = function(grunt) {grunt.initConfig({coffee: {compile: {files: {'./a.js': './a.coffee'}}}});!grunt.loadNpmTasks('grunt-contrib-coffee');grunt.registerTask('build', ['coffee']);};Gruntfile.js
var gulp = require('gulp');var coffee = require('gulp-coffee');!gulp.task('coffee', function() {return gulp.src(['./a.coffee']).pipe(coffee()).pipe(gulp.dest('./'));});!gulp.task('build', ['coffee']);Gulpfile.js
gulp.src(['./a.coffee']).pipe(coffee()).pipe(uglify()).pipe(rename('a.min.js')).pipe(gulp.dest('./'));Gulpfile.js
https://github.com/greypants/gulp-starter
{…"scripts": {"build": "coffee -c a.coffee"}}package.jsonshnpm i -D coffee-scriptnpm run build
http://blog.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/
altJS,トランスパイラ
http://coffeescript.org/
greeting = -> "Hello"alert greeting()!// var greeting;//// greeting = function() {// return "Hello";// };//// alert(greeting());a.coffee
https://babeljs.io/
let greeting = () => 'Hello';alert( greeting() );!// 'use strict';//// var greeting = function greeting() {// return 'Hello';// };//// alert(greeting());a.js
http://browserify.org/
var $ = require('jquery');!console.log($.fn.jquery); // 2.1.4a.js
import $ from 'jquery';!console.log($.fn.jquery); // 2.1.4a.js
npm i browserify babelifybrowserify a.js -t babelify -o bundle.jssh
http://codemix.com/blog/why-babel-matters
http://havelog.ayumusato.com/develop/javascript/e665-ts_jsx_flux.html
Lint
http://eslint.org/
.eslintrc{"parser": "babel-eslint","rules": {"quotes": [1, "single"],"no-var": 2,...},"env": {"browser": true,...}}
https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb
https://github.com/feross/eslint-config-standard
npm -D eslint eslint-config-airbnbsh.eslintrc{"extends": "airbnb"...}
http://jscs.info/
https://github.com/jscs-dev/node-jscs/tree/master/presets
https://medium.com/dev-channel/auto-formatting-javascript-code-style-fe0f98a923b8
ユニットテスト
console.assert(1 + 1 == 2);test.js
console.assert(1 + 1 == 2,'1 + 1 は 2 であること');test.js
console.assert(1 + 1 == 3,'1 + 1 は 2 であること');!Assertion failed: 1 + 1 は 2 であることtest.js
http://mochajs.org/
describe('足し算のテスト', function() {!it('1 + 1 は 2 であること', function() {console.assert(1 + 1 == 2);})!});test.js
mocha test.jssh足し算のテスト✓ 1 + 1 は 2 であること!1 passing
mocha test.jssh足し算のテスト1) 1 + 1 は 2 であること!0 passing1 failing
https://nodejs.org/api/assert.html
var assert = require('assert');!describe('足し算のテスト', function() {!it('1 + 1 は 2 であること', function() {assert.equal(1 + 1, 2);})!});test.js
assert.equal();assert.notEqual();!assert.deepEqual();assert.notDeepEqual();!assert.throws();…
mocha test.js // console.assertsh…AssertionError: false == true+ expected - actual!-false+true
mocha test.js // node.js assertsh…AssertionError: 2 == 3+ expected - actual!-2+3
mocha test.js // power-assertsh…# test.js:6!assert(1 + 1 === 3)| |2 false![number] 3=> 3[number] 1 + 1=> 2
https://github.com/power-assert-js
http://dev.classmethod.jp/testing/10_errors_about_unit_testing/
MVなんたら
http://www.slideshare.net/ginpei_jp/js-modelview
https://goo.gl/2J3ZCr
https://facebook.github.io/flux/docs/overview.htmlFlux?
https://medium.com/@milankinen/good-bye-flux-welcome-bacon-rx-23c71abfb1a7
コンポーネント
- Custom Elements- HTML Imports- Template- Shadow DOMhttp://webcomponents.org/
http://webcomponents.org/articles/interview-with-joshua-peek/
https://customelements.io/
https://www.polymer-project.org/1.0/
https://facebook.github.io/react/
- Just the UI- Virtual DOM- Data Flowhttps://facebook.github.io/react/
var Button = React.createClass({render: function() {return (<button type={this.props.type}>{this.props.children}</button>);}});!React.render(<Button type="submit">Hello</Button>,document.getElementById('example'));a.jsx
setState()
setState()再描画再描画
http://blog.500tech.com/is-reactjs-fast/
…
The most dangerous thought you can have as a creative person is tothink you know what you re doing. Learn tools, and use tools, butdon t accept tools. Always distrust them; always be alert foralternative ways of thinking.“想像的であり続けるために避けなければならないことは、自分がやっていることを知っていると思い込むことです。ツールを学び、ツールを使いこなす。しかし、ツールの全てを受け入れてはなりません。どんな時でも別の視点で考えるようにするべきです。- Victor, Bret. “The Future of Programming.”http://quote.enja.io/post/the-most-dangerous-thought-you-can-have.../
https://flic.kr/p/m9738vQUESTION?

Recommended

PDF
"Augmented reality in your browser", Alina Karpelceva
 
PPTX
"Your script just killed my site" by Steve Souders
KEY
Requirejs
 
PDF
Efficient JavaScript Development
PDF
Web-Performance
PDF
하루프레스
PDF
6주 javaScript 시작하며
PDF
RequireJS
PPT
Fav
PDF
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
PDF
우리가 모르는 노드로 할 수 있는 몇가지
PDF
Browserify
KEY
Fake it 'til you make it
PDF
Profiling PHP with Xdebug / Webgrind
PDF
The Dojo Build System
PDF
Node.js & Twitter Bootstrap Crash Course
PPT
Sxsw 20090314
PPT
Google在Web前端方面的经验
PDF
Performance monitoring measurement angualrjs single page apps with phantomas
PPTX
Transients are good for you - WordCamp London 2016
PDF
Mojolicious, real-time web framework
 
PDF
Nette &lt;3 Webpack
PDF
Detecting headless browsers
PDF
javascript for backend developers
PPT
AngularJS for Legacy Apps
PDF
Requirejs
PDF
Sinatra
PDF
Webpack packing it all
PDF
レスポンシブWebデザインでうまくやるための考え方
PDF
メンテナブルPSD

More Related Content

PDF
"Augmented reality in your browser", Alina Karpelceva
 
PPTX
"Your script just killed my site" by Steve Souders
KEY
Requirejs
 
PDF
Efficient JavaScript Development
PDF
Web-Performance
PDF
하루프레스
PDF
6주 javaScript 시작하며
PDF
RequireJS
"Augmented reality in your browser", Alina Karpelceva
 
"Your script just killed my site" by Steve Souders
Requirejs
 
Efficient JavaScript Development
Web-Performance
하루프레스
6주 javaScript 시작하며
RequireJS

What's hot

PPT
Fav
PDF
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
PDF
우리가 모르는 노드로 할 수 있는 몇가지
PDF
Browserify
KEY
Fake it 'til you make it
PDF
Profiling PHP with Xdebug / Webgrind
PDF
The Dojo Build System
PDF
Node.js & Twitter Bootstrap Crash Course
PPT
Sxsw 20090314
PPT
Google在Web前端方面的经验
PDF
Performance monitoring measurement angualrjs single page apps with phantomas
PPTX
Transients are good for you - WordCamp London 2016
PDF
Mojolicious, real-time web framework
 
PDF
Nette &lt;3 Webpack
PDF
Detecting headless browsers
PDF
javascript for backend developers
PPT
AngularJS for Legacy Apps
PDF
Requirejs
PDF
Sinatra
PDF
Webpack packing it all
Fav
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
우리가 모르는 노드로 할 수 있는 몇가지
Browserify
Fake it 'til you make it
Profiling PHP with Xdebug / Webgrind
The Dojo Build System
Node.js & Twitter Bootstrap Crash Course
Sxsw 20090314
Google在Web前端方面的经验
Performance monitoring measurement angualrjs single page apps with phantomas
Transients are good for you - WordCamp London 2016
Mojolicious, real-time web framework
 
Nette &lt;3 Webpack
Detecting headless browsers
javascript for backend developers
AngularJS for Legacy Apps
Requirejs
Sinatra
Webpack packing it all

More from Hayato Mizuno

PDF
レスポンシブWebデザインでうまくやるための考え方
PDF
メンテナブルPSD
PDF
赤い秘密
PDF
なんでCSSすぐ死んでしまうん
PDF
フロントエンドの求めるデザイン
PDF
Hello jQuery - 速習jQuery +綺麗なコードを書くためのヒント -
PDF
レンダリングを意識したパフォーマンスチューニング
PDF
jQuery Performance Tips – jQueryにおける高速化 -
PDF
CoffeeScriptってなんぞ?
PDF
ノンプログラマーのためのjQuery入門
レスポンシブWebデザインでうまくやるための考え方
メンテナブルPSD
赤い秘密
なんでCSSすぐ死んでしまうん
フロントエンドの求めるデザイン
Hello jQuery - 速習jQuery +綺麗なコードを書くためのヒント -
レンダリングを意識したパフォーマンスチューニング
jQuery Performance Tips – jQueryにおける高速化 -
CoffeeScriptってなんぞ?
ノンプログラマーのためのjQuery入門

Recently uploaded

PPTX
Cloud-and-AI-Platform-FY26-Partner-Playbook.pptx
PDF
Security Technologys: Access Control, Firewall, VPN
PDF
Unser Jahresrückblick – MarvelClient in 2025
PDF
Safeguarding AI-Based Financial Infrastructure
PDF
Usage Control for Process Discovery through a Trusted Execution Environment
PDF
Digit Expo 2025 - EICC Edinburgh 27th November
PDF
ElyriaSoftware — Powering the Future with Blockchain Innovation
PDF
TrustArc Webinar - Looking Ahead: The 2026 Privacy Landscape
PDF
Dev Dives: AI that builds with you - UiPath Autopilot for effortless RPA & AP...
PPTX
Data Privacy and Protection: Safeguarding Information in a Connected World
PDF
Greetings All Students Update 3 by Mia Corp
PDF
DIGITAL FORENSICS - Notes for Everything.pdf
PPTX
Unit-4-ARTIFICIAL NEURAL NETWORKS.pptx ANN ppt Artificial neural network
PPTX
Ethics in AI - Artificial Intelligence Fundamentals.pptx
PDF
Day 5 - Red Team + Blue Team in the Cloud - 2nd Sight Lab Cloud Security Class
PDF
Is It Possible to Have Wi-Fi Without an Internet Provider
PDF
API-First Architecture in Financial Systems
PPTX
THIS IS CYBER SECURITY NOTES USED IN CLASS ON VARIOUS TOPICS USED IN CYBERSEC...
PDF
Making Sense of Raster: From Bit Depth to Better Workflows
PDF
The year in review - MarvelClient in 2025
Cloud-and-AI-Platform-FY26-Partner-Playbook.pptx
Security Technologys: Access Control, Firewall, VPN
Unser Jahresrückblick – MarvelClient in 2025
Safeguarding AI-Based Financial Infrastructure
Usage Control for Process Discovery through a Trusted Execution Environment
Digit Expo 2025 - EICC Edinburgh 27th November
ElyriaSoftware — Powering the Future with Blockchain Innovation
TrustArc Webinar - Looking Ahead: The 2026 Privacy Landscape
Dev Dives: AI that builds with you - UiPath Autopilot for effortless RPA & AP...
Data Privacy and Protection: Safeguarding Information in a Connected World
Greetings All Students Update 3 by Mia Corp
DIGITAL FORENSICS - Notes for Everything.pdf
Unit-4-ARTIFICIAL NEURAL NETWORKS.pptx ANN ppt Artificial neural network
Ethics in AI - Artificial Intelligence Fundamentals.pptx
Day 5 - Red Team + Blue Team in the Cloud - 2nd Sight Lab Cloud Security Class
Is It Possible to Have Wi-Fi Without an Internet Provider
API-First Architecture in Financial Systems
THIS IS CYBER SECURITY NOTES USED IN CLASS ON VARIOUS TOPICS USED IN CYBERSEC...
Making Sense of Raster: From Bit Depth to Better Workflows
The year in review - MarvelClient in 2025

"今" 使えるJavaScriptのトレンド


[8]ページ先頭

©2009-2025 Movatter.jp