JSer.info #193 - Node.jsのパッケージ管理ツールであるnpm 2.0.0がリリースされました。
npm run-scriptに引数を渡せるようになったことや、npmのリリースプロセスがドキュメント化されたこと、Scoped packagesという機能が追加された点等結構色々変更があります。
Scoped packagesは企業利用などで使うときにPublicではなく社内でモジュールを管理するためのスコープ機能を提供する仕組みです。
npm 2.0.0はnpmからインストールできます。
npm install -g npm
詳細は以下の記事に書かれています。
iOS8がリリースされ内蔵されているSafariのアップデートと新しいWebViewが入りました。
以下の記事ではどのような機能が入ったかや、今までのWebView(UIWebView)と新しいWebView(WKWebView)のパフォーマンスや制限の違い等について書かれています。
- iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps | Breaking the Mobile Web
- Apple Shows Love for HTML5 with iOS 8 | Blog | Sencha
まだバグ等も多いですが、新しいWKWebViewでは今までのWebViewのような制限がないので、アプリ内でもSafariと同じように動くものができるかもしれません。
Node.jsエンジニアなら2014年内に知っておきたいPromise入門 | Tokyo Otaku Mode Tech Blogという記事では、Promiseの基本的な使い方やNode.jsでよく使われているasync.jsモジュールからの切り替えについて詳しく書かれています。
まだNode.jsのstableであるv0.10にはネイティブでPromiseが入っていないため、Bluebirdを使った例で書かれています。
次期安定版 v0.12ではネイティブでPromiseが入ることや、Node.js以外でもPromiseを使ったAPIは増えていくため、Promiseについて分かりやすくまとまっているため読んでみるといいかと思います。
ヘッドライン
The npm Blog — [email protected]
blog.npmjs.org/post/98131109725/npm-2-0-0
npm 2.0.0リリース。
リリースプロセスのドキュメント化、semverの挙動の変更、企業など社内モジュールの管理等に使えるscopeという機能を追加、npm runが引数を取れるようになるなど
WinJS Everywhere
blogs.windows.com/buildingapps/2014/09/17/winjs-everywhere/
WinJS 3.0リリース。
クロスプラットフォームのデザイン互換性周りの修正が中心
Node v0.10.32 (Stable)
blog.nodejs.org/2014/09/16/node-v0-10-32-stable/
Node v0.10.32 リリース。
React v0.11.2 | React
facebook.github.io/react/blog/2014/09/16/react-v0.11.2.html
React v0.11.2リリース。
dialogとpicture要素のサポート、flowの型チェックツール用のアノテーションを取り除くフラグをjsxコマンドに追加
Polymer 0.4.1 Released!
blog.polymer-project.org/releases/2014/09/18/release-0.4.1/
Polymer 0.4.1リリース。
WAI-ARIAについてのcore-a11y-keys
要素を追加、iOS8のバグに対するworkaroundを追加
アーティクル
Updates to our platform roadmap - IEBlog - Site Home - MSDN Blogs
blogs.msdn.com/b/ie/archive/2014/09/18/updates-to-our-platform-roadmap.aspx
IEの開発中、検討中の機能について
iOS 8 and iPhone 6 for web developers and designers: next evolution for Safari and native webapps | Breaking the Mobile Web
www.mobilexweb.com/blog/safari-ios8-iphone6-web-developers-designers
iPhone6とiPhone6 plusの仕様やviewportまわりの違いについて。
また、iOS8 SafariでサポートされたAPIやCSSサポート、minimal-uiの廃止、Safariの追加機能、UIWebViewとWKWebVIewの違い、バグについて詳しくまとめられている
Apple Shows Love for HTML5 with iOS 8 | Blog | Sencha
www.sencha.com/blog/apple-shows-love-for-html5-with-ios-8
iOS8のSafariでサポートされた新しい機能について。
また今までのWebViewと新しく追加されたWebKitの機能がちゃんと使えるWKWebViewのパフォーマンスの比較。
既知のバグについても書かれてる
Node.jsエンジニアなら2014年内に知っておきたいPromise入門 | Tokyo Otaku Mode Tech Blog
blog.otakumode.com/2014/09/17/nodejs-promise/
JavaScript Promiseの基本的な使い方、async.jsを使っていた場合にそれをPromiseに書き換える実装方法について。
Promiseについてよくまとまってるチュートリアル
JavaScript Promiseを使うウェブの仕様を調べてみた | Web Scratch
efcl.info/2014/09/16/promises-spec-ref-list/
Promiseの仕様を前提にしてる仕様の一覧。また、仕様をどうやって調べるかについて。W3CやWHATWGの仕様をまとめてダウンロードして検索する方法について書かれてる
Node.js Best Practices
blog.risingstack.com/node-js-best-practices/
Node.jsにおけるコーディングルール的なのとエラーについて。
callbackのerrorはチェックする事と早期return、Operational errorとProgrammer errorsの違いと対処、npmを使ったWorkflowについて書かれてる
Traceur, Gulp, Browserify and ES6 - Matt Greer
www.mattgreer.org/articles/traceur-gulp-browserify-es6/
Gulp+TraceurでES6のコードを使う方法と、Browserify + es6ifyでTraceurを使う方法について。
透過PNGをSVGを利用して軽くするテクニック - Weblog - Hail2u.net
hail2u.net/blog/webdesign/with-svg.html
JPG画像とマスクとなるPNG画像をSVGのmask要素によって合わせる事で擬似アルファチャンネルをやる事について。
単体の透過PNGよりファイルサイズが軽量に出来る話。
http://blog.jackadam.net/2010/alpha-jpegs/
CSSセレクターマッチングのコスト - Unreviewed
takenspc.hatenablog.com/entry/2014/09/16/152157
CSSセレクタは要素とセレクタの数だけ判定を行う回数が増えるため、そのコストを減らすアプローチについて。
また、CSSセレクタのマッチ判定の手順について結合子別に詳しく解説してる。
WebStorm 9 EAP, 138.2406: spy-js code completion, CSS3 enhancements, Scratch files and… JSX | JetBrains WebStorm Blog
blog.jetbrains.com/webstorm/2014/09/webstorm-9-eap-138-2406/
spy.jsを実行した結果を使ったコード補完が行えるように。また、今までは引数や返り値のみだったが、式にも対応した。
emacsみたいなScratchファイルの機能を追加、indexingの範囲をデフォルトではnode_modulesまでに限定、JSX(React)のサポート改善等
WebIDE、ストレージインスペクタ、jQuery イベント、iframe 切り替えなど – Firefox 開発ツール エピソード 34 | Mozilla Developer Street (modest)
Firefox 34 で追加されてる開発ツールの機能について
スライド、動画関係
Slide decks of JSConf 2014
gist.github.com/nikcorg/1fe60d2da6e22653806c
JSConf.eu 2014のスライドまとめ
https://www.youtube.com/user/jsconfeu/
A Quick Introduction to BrowserSync - Tuts+ Web Design Tutorial
webdesign.tutsplus.com/tutorials/a-quick-introduction-to-browsersync--cms-22135
BrowserSyncについて紹介するスクリーンキャスト
Syncing Async
www.slideshare.net/fitc_slideshare/syncingasync
非同期処理とPromiseについてのスライド。
コールバックのネストの問題、PromiseやGeneratorで考える非同期で逐次的な処理について。
CORS для тестирования и для жизни. Константин Якушев. MoscowJS 14
www.slideshare.net/moscowjs/cors-moscowjs-14
CORSのHTTPヘッダの設定と動作について分かりやすくまとめられてる。
指定する値の書き方についてが分かりやすい
CORS in Actionの人。
Componentization for Reality
ja.slideshare.net/ygoto3q/componentization-for-reality
コンポーネントベースで考えるウェブ開発についてのスライド。
ディレクトリ単位だとバラけてしまうのでコンポーネント単位でまとめる。
ジェネレータ、webpack、insertCSS、Angular
ソフトウェア、ツール、ライブラリ関係
wingify/dom-comparator
github.com/wingify/dom-comparator
2つのDOM文字列を比較した結果を取得するライブラリ。
CSSやNodeにどういう操作が行われたかの情報が取れる
ConradIrwin/async-profile
github.com/ConradIrwin/async-profile
Node.jsで非同期処理のプロファイルを取るためのライブラリ。
callback待ちにどれくらいの時間を使ってるかの表示、非同期処理の結果をネスト表示も出来る
matthew-andrews/denodeify
github.com/matthew-andrews/denodeify/
Node.jsスタイルで書かれた関数(error, response)をPromiseラッパにするライブラリ
deloreanjs/delorean
github.com/deloreanjs/delorean
Flux patternの実装ライブラリ
dispatcherとstore、ComponentとしてReactやFlight、Ractiveなどと組み合わせて使うことができる
fat/bean
JavaScriptのDOMイベントを簡単に扱える小さなライブラリ。
on/off/fire/one/cloneが用意されている。cloneではNodeと共にeventをコピーすることができる
inikulin/dmn
プロジェクトで使ってるファイルから.npmignoreを生成するコマンドラインツール。
また、インストール済みのnode_modulesから不要なファイルを削除する事も出来る。