これはチームメンバーAddy Osmaniによる投稿です。
この投稿では、React、ES6、デスクトップアプリなどのジェネレータについて説明します。
はじめに
アロー!アロー!4月は私たちにとって特別な月です。プロジェクトが開始されてから3年、バイナリ名をyeomanからyoに変更してからほぼ2年が経ちました。今月、Yeomanは130万回インストールされ、コミュニティによるジェネレータが1635個作成されました。
すべての貢献者の方々に感謝申し上げます。また、イベントでYeomanを紹介してくださった世界中のイベントオーガナイザーの方々にも特に感謝いたします。YeomanTO、Codepen Meetups、IBM Design Camp、OttawaJS、JSMontrealなど、皆様のおかげで、この活動を行うことができました。本当にありがとうございます。
ハイライト
最近のハイライトとしては、ReactコミュニティにおけるYeomanによるスキャフォールディングの増加、ES6を使用して独自のジェネレータを作成しようとする人々、そしてInternet ExplorerのPMであるAde Bateman氏がyoを使用して技術仕様書を作成したことが挙げられます。素晴らしいですね。
プロジェクトのスキャフォールディングに対する情熱の高まりを見て、私たちは非常に興奮しており、ジェネレータがお互いに拡張し、構築できるようになるための新機能に取り組んでいます。
スポットライト:React
Reactは、Facebookが開発したユーザーインターフェースを作成するためのライブラリです。コンポーネントが存在する独自の仮想DOMを作成します。このアプローチにより、Reactは事前にDOMで実行する必要がある作業を計算し、それに応じてDOMツリーを一括で更新するため、パフォーマンスの向上が期待できます。ReactはコストのかかるDOM操作を避け、効率的な方法で更新することを目指しています。
Reactをすぐに開始するための3つの新しいジェネレータが登場しました。ReactとWebPack(Fluxとreact-routerをサポート、推奨)、ReactとFlux(Browserifyを使用)、ReactとMeteorです。
スポットライト:ES6
ES6+コードをES5コードにすばやく変換するための新しいジェネレータもいくつか利用できるようになりました。Babel、Angular2、そしてES6とWeb Componentsを使用する新しいフレームワークであるAurelia用のジェネレータがあります。私のes6-toolsプロジェクトにも、いくつかのES6ジェネレータがあります。
スポットライト:Electron
Electron(旧atom-shell)を使用すると、JS/CSS/HTMLを使用してクロスプラットフォームのデスクトップアプリを構築できます。既に使用している可能性のある、Electronを使用して構築されたアプリには、Slack、Atomエディタ(もちろん)、Photoshop/SketchエクスポートツールAvocodeなどがあります。
Electronはio.jsとChromiumに基づいており、Electronを使用したプロジェクトの開始を支援するために、Sindre Sorhusが迅速なElectronジェネレータを作成しました。彼はまた、インスピレーションを探している人のために素晴らしいElectronプロジェクトのリストも管理しています。
スポットライト:Node
私たちの多くは、新しいNodeモジュールの作成にnpm init
を使用することに慣れていますが、より意見の強い代替案を好む人もいるかもしれません。Sindre Sorhusによるnode-module-boilerplateとgenerator-nmが登場しました。彼の出発点には、EditorConfig、Travis、そしてすぐに使える単体テストの出発点が含まれています。
関連事項として、node-inspectorを使用してYeomanジェネレータのデバッグを自動化する必要がある場合は、チームのHemanthが便利なスクリプトを作成しましたので、ぜひご覧ください。
コミュニティ
以下は、今月私たちが読んで楽しんだ、Yeomanに関する、またはYeomanについて言及しているコミュニティ作成の記事のまとめです。完全なWebRTCクライアント、Slackボットの構築方法、またはWordpressテーマのツールワークフローの自動化方法を学ぶことができます。詳細は以下をご覧ください。
記事
WebRTCとYeomanを使用したマルチユーザービデオ会議
AngularJS、Node.js、Stormpathを使用したアプリを15分で構築する方法
Yeomanを使用したWordpressテーマ開発者のワークフローの自動化
OS X YosemiteでのPostCSSを使用したNode、Yeoman、Bower、Gulp
JHipsterとYeomanを使用した最新のJavaプロジェクトの開始
シングルページアプリケーションとしてのRuby on RailsとAngularJSの接続方法(Gulpバージョン)
GulpとSublime Text 3を使用した実践的なTypeScript開発
気に入ったジェネレータ
Polymerを使用したモバイルChromeアプリスターターキット
JSPMとcritical-CSS最適化を使用したSymphony2
コアからの発表
npm3の調査
npm@3では、キャッシュの書き換えやpeerDependencies
のデフォルトでのインストールの中止など、多くの改善が計画されています。この特定の変更はyo
に影響を与え、peerDepの競合を手動で解決する必要があることを意味します。dependencies
にサブジェネレータを含めることになるかもしれませんが、ユーザーにとって有益なnpm@3の機能を最大限に活用することを楽しみにしています。
非推奨化
ジェネレータシステムの0.19リリースノートでSimonが述べたように、最終的な1.0リリースに向けてAPIを整理する際に、いくつかのメソッドを非推奨とすることを検討しています。常に、yeoman-generator
の最新バージョンに対してジェネレータをテストして、すべてがスムーズに実行されるようにしてください。
コンポジション万歳
開発者がジェネレータにますますコンポーザビリティ機能を使用しているのを見るのは喜ばしいことです。これにより、共通の基盤の上に構築できるため、ジェネレータの機能を複製する代わりに、別のジェネレータ内でジェネレータを実行できます。たとえば、AngularAppジェネレータ内で実行する代わりに、Karmaテストのスキャフォールディング用のジェネレータを呼び出すことができます。
敬意を表して
今回のまとめは以上です。@yeomanを常にチェックしており、改善できる点、ニュース、作成した新しいジェネレータ、またはお気に入りの帽子をかぶった男性の落書きなど、ご意見をいただければ幸いです。次回の投稿のアイデアがある場合は、このスレッドに投稿することもできます。
次回まで、yo awesomeness
。