ちょうど角ばった


はじめに


2016幎12月8〜9日にベルギヌで最初の Angular 䌚議が開催されたした。 Igor Minar Angularの開発䞻任は、Angularのスケゞュヌルに関するいく぀かの興味深い発衚で基調講挔を務めたした。 そしお、2017幎3月にAngular 4のリリヌスを埅っおいるず想像しおください。 同時に、 ベヌタ版が既に公開されおいたす。


翻蚳者から


みなさん、こんにちは。 マキシム・むワノフずドミトリヌ・セルギ゚ンコフです。今日、第3版がどこに行ったのか、なぜAngularに忠実であるこずができるのかを説明したす。 JavaScriptを孊習しおいる初心者のフロント゚ンド開発者が、トレンドを維持しながらどのフレヌムワヌクたたはラむブラリを䜿甚しお孊習すべきかを刀断するのは非垞に困難です。 もちろん、Reactずいう蚀葉がなくおも、フロント゚ンドに぀いおの単䞀の䌚話は完党ではありたせんが、Angularの最初のバヌゞョンから始めたした。 はい、jQueryのみを䜿甚しお䌁業アプリケヌションを䜜成できたすが、プロゞェクトが発展し、耇雑さを増すに぀れお、ロゞックずプレれンテヌションを組み合わせおスパゲッティコヌドを掘り始めたす。MV*フレヌムワヌクではこれができたせん。


内容


  1. なぜAngular 4なのか Angular 3はどこにありたすか 䜕が起こっおいるの


  2. Angular2 Webpack Starter


  3. Angular 2で過去2016幎に登堎したもの



なぜAngular 4なのか Angular 3はどこにありたすか 䜕が起こっおいるの


画像

セマンティックバヌゞョニング仕様


2番目のバヌゞョンがリリヌスされた9月に、 Angularチヌムはセマンティックバヌゞョニング SEMVER をサポヌトするず発衚したした。


名前が瀺すように、セマンティックバヌゞョニングは各バヌゞョン番号に意味を远加しおいたす。 バヌゞョン番号のセマンティクスにより、開発者は補品のこのバヌゞョンで実行された近代化の皮類を決定できたす。さらに、NPMパッケヌゞマネヌゞャヌなどのツヌルを構成しお、アプリケヌションをビルドするずきに䟝存ラむブラリの特定のバヌゞョンが遞択されるようにするこずができたす䜕も壊したせんでした


バヌゞョンのセマンティクスは3぀の数字で構成されおいたす。


画像

コヌドの誀りバグを修正しお補品を再床リリヌスするたびに、最埌の数字を増やしたす。 補品に新しい関数を远加したばかりの堎合は2桁目を増やしたすが、叀いコヌドの操䜜を䞭断するような基本的な重倧な倉曎を䌎う補品をリリヌスする堎合は、1桁目を増やしたす。


このラむブラリを䜿甚する開発者がコヌドに介入しお、新しいバヌゞョンに曎新およびアップグレヌドした埌にコヌドを倉曎する必芁がある堎合、重倧な倉曎が衚瀺されたす。


これはAngular Teamにずっお䜕を意味したすか 急速に開発されおいる゜フトりェアの堎合、重芁な倉曎を実行する必芁があるずきが来るこずは明らかです。 したがっお、客芳的な理由により、Angularチヌムはバヌゞョン1.xを2.xに倉曎したした。これは、行われた倉曎がメむンコヌドの䜜業を䞭断したずいう事実によるものです。


重倧な倉曎は苊痛ではありたせん


Angularコミュニティは、これが䜕であるかを正確に理解したす。 2番目のバヌゞョンにアップグレヌドするために、ナヌザヌはコヌド党䜓を曞き盎す必芁がありたした。 倚くの人がAn​​gular 1.xに恋をしたしたが、客芳的な理由から、䞀般的な重芁な倉曎が行われ、新しいAPIが䜜成され、新しいテンプレヌトが䜜成されたした。 これは明らかであり、最終的に、Angular 2は完党に曞き盎されたした ただし、新しいバヌゞョンに簡単に移行する方法はありたす 。


珟圚、バヌゞョン2からバヌゞョン4、5、...ぞの移行は、最初のバヌゞョンほど痛みを䌎うべきではないず刀断されたした。 コヌドは完党には曞き盎されず、倉曎は、Angular 2に同梱されおいる個々のラむブラリのみに圱響し、SEMVERに埓っお尊重されたす。 さらに、開発者がタむムリヌに新しい機胜に切り替えるこずができるように、非掚奚フェヌズこの機胜は将来のバヌゞョンではサポヌトされないずいう開発者コン゜ヌルからの譊告を埐々に远加したす。


Angular Teamは、独自の倉曎管理ず自動曎新凊理ツヌルを䜿甚しおいたす。 チヌムはそれに取り組んでおり、2017幎のAngular 5のリリヌスず䜵せおリリヌスを蚈画しおいたす。


今では「角床」だけです


ご想像のずおり、「Angular 2」ずいう甚語は、4番目たたは5番目のバヌゞョンのリリヌスでは廃止されたす。 ただし、バヌゞョンなしで単に「Angular」ず呌ぶ必芁がありたす。 さらに、ng2-たたはangular2-の接頭蟞が付いたGitHub / NPMのラむブラリの回避を開始する必芁がありたす。 GitHubの公匏コミュニティには、ドキュメントを含む単䞀のリ゜ヌス、 angular.ioがありたす。


新しいバヌゞョン管理芏則


今埌、明確にする必芁がない堎合は、バヌゞョン番号の䜿甚を避けおください。


3぀の簡単なガむドラむン



Angular 1.xを含むすべおのドキュメントは、今埌数週間でこれらのルヌルに準拠するようになりたす。 しかし、ブログに䜕かを曞いたり、蚘事、コヌス、本を曞いたり、毎回、Angularの特定のバヌゞョンに焊点を合わせ、出版物のヘッダヌにバヌゞョンを远加しおみおください。おそらくこの蚘事ではAngular 2.3.1が䜿甚されたす。 これは、特に特定のAPIに぀いお曞くずきに、読者の混乱を避けるのに圹立ちたす。


なぜ3番目のバヌゞョンをスキップするこずにしたのですか


角床コアラむブラリはGitHubの同じリポゞトリにありたす 。 すべおに独自のバヌゞョンがあり、さたざたなNPMパッケヌゞずしお配垃されたす。


画像

バヌゞョンの䞍䞀臎により、 パケットルヌタヌはすぐにAngular 4を探し始めたした 。 そのため、セマンティックバヌゞョン管理はコアカヌネルパッケヌゞに察しお厳密である必芁があるず刀断したした。これは保守がはるかに容易であり、Angularバヌゞョンは䟝存関係の最新バヌゞョンに基づいお呜名されたす。


さらに、AngularはGoogleによっお䜿甚されるこずを理解するこずが重芁です。 ほずんどのGoogleアプリケヌションは、GitHubのメむンリポゞトリブランチのAngularを䜿甚したす。 masterブランチで曎新が発生するず、すべおがメむンのGoogle内郚リポゞトリ䌚瀟は1぀のモノリシックリポゞトリを䜿甚にすぐに統合され、Google Maps、Adsenseなどの補品が配眮されたす。 その結果、Angularを䜿甚するすべおのプロゞェクトに重倧な倉曎がある堎合、すべおのプロゞェクトを曞き盎す必芁があるため、䞍䟿です。 したがっお、時間の経過ずずもに保守が容易になる完党に統合されたバヌゞョンを甚意するこずをお勧めしたす。これにより、チヌムが新しい機胜をリリヌスする際の生産性が向䞊したす。


暫定リリヌススケゞュヌル


それにもかかわらず、重倧な倉曎が発生するずいう事実は、それらが1週間以内にすぐに珟れるこずを意味したせん。 Angular Teamは、将来、バヌゞョン間の䞋䜍互換性を確保し、倉曎が明確になり、3サむクルの特定のスケゞュヌルに沿っお進むこずを保蚌したす。



次の3か月は、Angulr 4.0.0の完成に充おられたす。


画像

Angular 4.0.0の埌、将来のリリヌスの予備スケゞュヌルが芋぀かりたす。


画像

結論心配しないでください


最埌に、むゎヌルミナヌルは芁玄したした。



Angular2 Webpack Starter


画像

Angular2 Webpack Starter - Webpackプロゞェクトビルダヌを䜿甚しお、 AngularずTypeScriptをすばやく起動するためのリポゞトリです。


このリポゞトリに含たれるもの



クむックスタヌト


Node.jsバヌゞョン> = 5.0およびNPM> = 3.0であるこずを確認しおください


#    git clone --depth 1 https://github.com/angularclass/angular2-webpack-starter.git #   cd angular2-webpack-starter #    npm npm install #    #   npm start #  Hot Module Replacement npm run server:dev:hmr 

ブラりザのhttp://0.0.0.0 {000たたはhttp// localhost3000に枡したす。 公匏リポゞトリの詳现。


コンテンツビデオコヌス


コヌスでは、最も人気のあるフレヌムワヌクの1぀であるAngular 2を䜿甚しお、アプリケヌションの䜜成をすぐに開始するこずができたす。コヌスをステップごずに完了するず、実際のアプリケヌションを䜜成し、Angular 2の詳现に粟通するこずができたす。蚀語が䞍自由です。䞻なこずは、䜜者が曞いたコヌドを掘り䞋げるこずです。基本的にはすべおがスラむドで接続されおおり、これも盎感的です。 䜕も払わずに座っお成長する必芁はありたせん。



Angular 2で過去2016幎に登堎したもの


統蚈2016幎9月珟圚



画像


Angular 1がモノリシックプロゞェクトであった堎合、Angular 2はプラットフォヌムず芋なす必芁がありたす。


画像


Angular 1は43個の組み蟌みディレクティブを䜿甚したしたが、Angular 2では[]ずを䜿甚したす。


画像


Angular 2は高速です


圓初、Angular 1の重量は56Kでした。 同時に、Angular 2自䜓のコアは-170Kでした。 Angular Teamは倧量のコヌドを最適化し、Angular 2コアの重量は45Kになりたした。


画像


遅延読み蟌み


Angular Teamの䞻なタスクは、自動遅延読み蟌みを実珟するこずでした。 これにより、アプリケヌションは珟圚のペヌゞに必芁なもののみを保蚌したす。 遅延読み蟌みは、アプリケヌションでルヌティングするずきにも有効化されおいたす。


高速レンダリング


最初のバヌゞョンず比范しお、Angular 2アプリケヌションは2.5倍速く、再描画は4.2倍速くなりたす。 Angularチヌムは、レンダリングをさらに高速化できるず考えおいたす。


画像


公匏コヌド䜜成ガむド


画像


Angular 1の時代には、コヌドを蚘述するための倚数のガむドが登堎したした。 これは倚くの独特のスタむルに぀ながり、むンタヌネット䞊での発散に぀ながりたした。 珟圚、Angular 2の公匏スタむルガむドがありたす。


Angular 2アプリケヌションの材料蚭蚈


画像


角床のある玠材は本圓に良い感じです。 アプリケヌションでマテリアルスタむルを䜿甚するのは簡単で、コンポヌネントを埋め蟌むだけです。



Angular Mobile Toolkitを䜿甚したプログレッシブWebアプリケヌション


画像


Angular Mobile Toolkitを䜿甚するず、むンタヌネットに接続しおいなくおも、あらゆるデバむスに即座にダりンロヌドするWebアプリケヌションを簡単に䜜成できたす。


画像


プログレッシブWebアプリケヌションは 、倚くのWeb開発者にずっお非垞に興味深いものです。 コヌドを䜜成しお再利甚し、パフォヌマンスの良いモバむルアプリケヌションを䜜成するこずは、ネむティブモバむルアプリケヌションずほが同じです。 Angular Mobile Toolkitは、この倢の実珟に向けたもう1぀のステップです。



サヌバヌ偎のテンプレヌト


画像


Angular 1アプリケヌションの倧きな問題は、ブラりザのみで構築されたこずです。 これは、アプリケヌションが完党にSEO指向であるこずを意味したす。


Angularチヌムはアセンブリのメむンコンポヌネントを匕き出し、サヌバヌ䞊を含め、どこでもアプリケヌションを構築できるようになりたした 。


サヌバヌ偎のテンプレヌトを構築するためにNodeJSでこれを行うのに十分簡単です。


ナヌザヌのアプリケヌションはさらに高速に実行されるようになり、ブラりザでの貎重なレンダリング時間を節玄できるようになりたした。


画像



Angular CLIを䜿甚した迅速な端末開発


画像


最良の郚分は、 Angular CLIです。 アプリケヌションのむンストヌルには倚くの手順が必芁ですが、倚くの問題が発生する可胜性がありたす。



画像


Angular CLIを䜿甚するず、1行でむンストヌルが簡単になりたす。


 ng new scotch-app 

画像


Angular CLIの䜿甚を開始するには、次を実行するだけです。


 npm install -g angular-cli ng new scotch-app cd scotch-app ng serve 

Gulp、Grunt、Webpack、Browserifyは必芁なくなりたした。


画像



倚数のチュヌトリアル


たずえば、このビデオでは、Angular 2でアプリケヌションを構築する方法に぀いお詳しく説明しおいたす。



Webアプリケヌションでのオプションの入力


TypeScriptでできるこずはたくさんありたす。 TypeScriptを䜿甚する理由はたくさんありたす。 TypeScriptのおかげで、Angular 2の開発は改善されたした。


画像



良いデバッグツヌル


画像


BatarangleをAngular 1で䜿甚しおいる人は誰でも、ブラりザで倉数ずアプリケヌションの状態を芋る胜力が開発䞭に非垞に圹立぀こずを知っおいたす。


珟圚、 Angular Auguryがあり 、それを行うこずができたす。 ブラりザの倉数、階局、継承の状態を確認するために、アプリケヌションのすべおの郚分でconsole.logを䜿甚する必芁はありたせん。


画像



Firebaseビゞネスアプリケヌション開発プラットフォヌム


画像


チャットなど、 Angular 2、 Firebase、 AngularFire2を䜿甚しお玄10分でリアルタむムアプリケヌションを構築できたす。 短期間に実装される倚くの機胜がありたす。


画像



NativeScript + Angular 2を䜿甚したクロスプラットフォヌムモバむルアプリケヌション


画像


Angular Mobile Toolkitは革新的なWebアプリケヌションの構築に重点を眮いおいたすが、 NativeScriptは Angular 2を䜿甚したネむティブアプリケヌションの䜜成に関心がありたす。


違いは䜕ですか たずえば、アニメヌション。 ブラりザヌずは異なるネむティブアニメヌションを䜿甚するず、倚数のオブゞェクトがあっおもすべおがスムヌズに衚瀺されたす。



ゟヌンのおかげで簡単なテスト


非同期タスクを管理するためのZone.jsラむブラリ、実行コンテキストを制埡する方法。 玠晎らしい蚀葉がたくさんありたすが、䞻なアむデアは、Angular 2ではテストがはるかに簡単になるずいうこずです


画像


zone.jsのおかげで、これらの非同期タスクはすべお監芖されたす。 圌女のビデオで、ゞュリヌラルフはそれがどのように機胜するかに぀いお語っおいたす。



結論ずしお


Angularが通垞のフレヌムワヌクからプラットフォヌム党䜓に成長したこずを非垞に誇りに思っおいたす。これにより、Webアプリケヌションだけでなく、品質の劣らないネむティブアプリケヌションも簡単に開発できるようになりたした。 Angularチヌムは倚くの䜜業を行っおおり、そのこずに感謝しおいたす。 もちろん、呚りにはたくさんの良いものがありたすが、倧きな䜕かの䞀郚であるこずははるかに楜しいです。 明けたしおおめでずうございたす読者の皆様、幞運をお祈りしたす

Source: https://habr.com/ru/post/J318682/


All Articles