Angular 8 adalah versi produksi terbaru dari Angular. Tutorial Angular 8 ini, pelajari cara membuat situs web skala besar menggunakan Angular 8 dalam 10 hari.
Manfaat utama menggunakan Angular dalam aplikasi web adalah: -
- Angular memodifikasi dom halaman secara langsung alih-alih menambahkan kode HTML dalam yang lebih cepat.
- Pengikatan data tidak terjadi pada setiap kontrol atau perubahan nilai (tidak ada pendengar perubahan) tetapi pada titik-titik tertentu dari eksekusi kode JavaScript. Itu secara dramatis meningkatkan kinerja, karena pembaruan Model / Tampilan massal tunggal menggantikan ratusan peristiwa perubahan data yang mengalir.
- Tidak perlu menggunakan fungsi yang dapat diamati. Angular menganalisis dom halaman dan membangun binding berdasarkan atribut elemen angular-specific. Itu membutuhkan lebih sedikit tulisan, yang berarti kode lebih bersih, lebih mudah dipahami, dan memiliki lebih sedikit kesalahan.
- Fitur yang diperluas seperti injeksi dependensi, perutean, animasi, enkapsulasi tampilan, dan banyak lagi tersedia.
- Ini didukung oleh IntelliJ IDEA dan Visual Studio .NET IDEs.
- Hal ini didukung oleh Google dan komunitas pengembangan yang besar.
- Angular adalah solusi komprehensif untuk pengembangan front-end yang cepat. Tidak perlu plugin atau kerangka kerja lain.
- Angular adalah unit testing ready, dan itu adalah salah satu keuntungan yang paling menarik.
Panduan langkah demi langkah belajar Angular
Mengapa Angular dikenal sebagai Framework?
Apa yang baru di Angular 8?
- Dukungan Typescript 3.4 atau di atas
- Dukungan Mesin Ivy Renderer
- Memperkenalkan alat build baru yang disebut Bazel sebagai fitur opt-in
- Memberikan opsi untuk pemuatan diferensial untuk pengoptimalan kinerja
- Perubahan dalam konsep pemuatan modul dinamis
- Memberikan dukungan untuk Web Worker
- Menyediakan Dukungan SVG template

Instal Prasyarat untuk Angular8
- Node JS terbaru yaitu LTA 10.16 atau lebih tinggi
- Instal Typescript versi 3.4 atau lebih tinggi
- Perlu menginstal IDE apa pun seperti Visual Studio Code atau Microsoft Visual Studio 2015 atau lebih tinggi
- Juga, diperlukan untuk menginstal Angular CLI untuk menjalankan proyek sudut
Apa itu TypeScript?
Beberapa Sintaks Dasar TypeScript
| JavaScript | TypeScript |
| var num = 5; | var num : angka = 5; |
| var num = "Speros"; | var num : string = "Speros"; |
| var anydata = 123; | var anydata : any = 123; |
| daftar var = [1,2,3]; | daftar var : Array<number> = [1,2,3]; |
function square(num){ kembalikan num * num ; } | function square(num : number) : number { kembalikan num * num ; } |
Buat Proyek Baru menggunakan Angular CLI
- Buka Command Prompt dan buat folder
- Sekarang jalankan perintah - ng AngularDemo baru
- Sekarang, Masukkan "N" untuk Apakah Anda ingin Menambahkan opsi Angular Routing (Karena harus Y ketika kami ingin menggunakan Routing dalam aplikasi kami).
- Pilih gaya stylesheet sebagai CSS lalu tekan enter

Tentang Struktur Folder Proyek

Proyek yang dibuat berisi folder berikut -
- e2e - Folder ini adalah untuk tujuan pengujian ujung ke ujung. Ini berisi file konfigurasi yang terkait dengan melakukan uji unit proyek.
- node_modules - Folder ini berisi paket yang diunduh sesuai konfigurasi.
- src - Folder ini berisi kode sumber yang sebenarnya. Ini berisi 3 subfolder sebagai -
- app - Folder aplikasi berisi file terkait proyek Angular seperti komponen, file HTML, dll.
- aset - Folder aset berisi file statis seperti gambar, stylesheet, file pustaka javascript kustom (jika diperlukan), dll.
- lingkungan - Folder Lingkungan berisi file terkait lingkungan yang diperlukan selama penyebaran atau pembuatan proyek.
Tentang File Konfigurasi Yang Berbeda
- {
- "compileOnSave": benar,
- "compilerOptions": {
- "baseUrl": "./",
- "outDir": "./dist/out-tsc",
- "sourceMap": benar,
- "deklarasi": salah,
- "modul": "esnext",
- "moduleResolution": "node",
- "emitDecoratorMetadata": true,
- "ExperimentalDecorators": benar,
- "importHelpers": benar,
- "target": "es2015",
- "typeRoots": [
- "node_modules/@types"
- ],
- "lib": [
- "es2018",
- "dom"
- ]
- }
- }
- {
- "nama": "angular8-demo",
- "versi": "0.0.0",
- "skrip": {
- "ng": "ng",
- "mulai": "ng melayani",
- "build": "ng build",
- "tes": "ng test",
- "lint": "ng lint",
- "e2e": "ng e2e"
- },
- "pribadi": benar,
- "dependensi": {
- "@angular/animasi": "~8.0.0",
- "@angular/umum": "~8.0.0",
- "@angular/kompiler": "~8.0.0",
- "@angular/inti": "~8.0.0",
- "@angular/bentuk": "~8.0.0",
- "@angular/platform-browser": "~8.0.0",
- "@angular/platform-browser-dynamic": "~8.0.0",
- "@angular/router": "~8.0.0",
- "rxjs": "~6.4.0",
- "tslib": "^1.9.0",
- "zona.js": "~0.9.1"
- },
- "devDependencies": {
- "@angular-devkit/build-angular": "~0.800.0",
- "@angular/cli": "~8.0.2",
- "@angular/compiler-cli": "~8.0.0",
- "@angular/layanan bahasa": "~8.0.0",
- "@types/node": "~8.9.4",
- "@types/melati": "~3.3.8",
- "@types/jasminewd2": "~2.0.3",
- "codelyzer": "^5.0.0",
- "jasmine-core": "~3.4.0",
- "jasmine-spec-reporter": "~4.2.1",
- "karma": "~4.1.0",
- "karma-chrome-launcher": "~2.2.0",
- "karma-coverage-istanbul-reporter": "~2.0.1",
- "karma-melati": "~2.0.1",
- "karma-melati-html-reporter": "^1.4.0",
- "protractor": "~5.4.0",
- "ts-node": "~7.0.0",
- "tslint": "~5.15.0",
- "typescript": "~3.4.3"
- }
- }
- enableProdMode – Opsi ini digunakan untuk menonaktifkan mode pengembangan Angular dan mengaktifkan mode Productions. Menonaktifkan mode Pengembangan mematikan pernyataan dan pemeriksaan terkait model lainnya dalam kerangka kerja.
- platformBrowserDynamic – Opsi ini diperlukan untuk bootstrap aplikasi Angular n browser.
- AppModule – Opsi ini menunjukkan modul mana yang bertindak sebagai modul root dalam aplikasi.
- lingkungan – Opsi ini menyimpan nilai konstanta lingkungan yang berbeda.
- import { enableProdMode } dari '@angular/core';
- import { platformBrowserDynamic } dari '@angular/platform-browser-dynamic';
- impor { AppModule } dari './app/app.module';
- impor { lingkungan } dari './environments/environment';
- jika (environment.production) {
- enableProdMode();
- }
- platformBrowserDynamic().bootstrapModule(AppModule)
- . catch(err => console.error(err));
- Pertama, kita perlu mengimpor Angular BrowserModule ke dalam file modul Angular di awal. Kelas BrowserModule ini bertanggung jawab untuk menjalankan aplikasi di browser.
- Pada langkah berikutnya, kita perlu mendeklarasikan elemen Angular seperti komponen dalam modul Angular sehingga komponen atau elemen tersebut dapat dikaitkan dengan modul Angular.
- impor { BrowserModule } dari '@angular/platform-browser';
- impor { NgModule } dari '@angular/core';
- import { AppComponent } dari './app.component';
- @NgModule({
- deklarasi: [
- AppComponent
- ],
- impor: [
- BrowserModule
- ],
- penyedia: [],
- bootstrap: [AppComponent]
- })
- kelas ekspor AppModule { }
Demo 1: Program Pertama
Kode app.component.ts
- impor { Komponen } dari '@angular/core';
- @Component({
- pemilih: 'app-root',
- templateUrl: './app.component.html',
- styleUrls: ['./app.component.css']
- })
- kelas ekspor AppComponent {
- judul = 'Selamat datang di Angular 8 Learning Series...';
- }
Kode app.component.html
- <!--Perin di bawah ini hanya placeholder dan dapat diganti.->
- <div style="text-align:center">
- <h1>
- Selamat datang di {{ judul }}!
- </h1>
- <img width="300" alt="Angular Logo" src="data:image/svg+xml;base64, PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTAgMjUwIj4KICAgIDxwYXRoIGZpbGw9IiNERDAwMzEiIGQ9Ik0xMjUgMzBMMzEuOSA2My4ybDE0LjIgMTIzLjFMMTI1IDIzMGw3OC45LTQzLjcgMTQuMi0xMjMuMXoiIC8+CiAgICA8cGF0aCBmaWxsPSIjQzMwMDJGIiBkPSJNMTI1IDMwdjIyLjItLjFWMjMwbDc4LjktNDMuNyAxNC4yLTEyMy4xTDEyNSAzMHoiIC8+ CiAgICA8cGF0aCAgZmlsbD0iI0ZGRkZGRiIgZD0iTTEyNSA1Mi4xTDY2LjggMTgyLjZoMjEuN2wxMS43LTI5LjJoNDkuNGwxMS43IDI5LjJIMTgzTDEyNSA1Mi4xem0xNyA4My4zaC0zNGwxNy00MC45IDE3IDQwLjl6IiAvPgogIDwvc3ZnPg==">
- </div>

Cara Menggunakan Panduan
Panduan ini terdiri dari dua bagian - teori dan praktik. Oleh karena itu, Anda dapat memulai dari awal dan melanjutkan atau memeriksa modul terpisah jika Anda merasa percaya diri dan ingin menghemat waktu.
Definisi dan Konsep Inti
Angular adalah kerangka javascript untuk membuat aplikasi web dan mobile. Kerangka kerja ini bersifat open-source dan dimaksudkan untuk mengatasi kesulitan yang muncul selama pengembangan aplikasi satu halaman dan lintas platform.
Arsitektur aplikasi angular mencakup delapan jenis blok inti yang kami jelaskan di bawah ini. Karena tujuan utama dari kerangka kerja ini adalah untuk membuat SPAs, bloknya khusus untuk itu. 95% dari kode berjalan di sisi klien, dan sisanya ada di sisi server.
Kerangka kerja ini menawarkan keuntungan berikut:
- menghemat waktu dan usaha saat mengembangkan solusi;
- praktik dan pola pengkodean lanjutan untuk desain;
- skalabilitas;
- mengubah masalah pembangunan yang kompleks menjadi tugas-tugas terpisah sederhana.
Sekarang mari kita lihat bagian-bagian penyusun kerangka kerja.
Modul
Modul adalah blok kode kohesif yang didedikasikan untuk domain aplikasi tertentu. Ini adalah fitur mendasar dari kerangka kerja. Aplikasi Angular harus berisi setidaknya satu modul, yang disebut modul root, yang bertanggung jawab untuk bootstrap. Namun, sebagian besar solusi memiliki lebih banyak modul fitur yang mengelola kemampuan tertentu.
Sebagai pengembang, Anda dapat membuat kombinasi modul yang berbeda dan menggunakannya kembali saat mengelola pengembangan produk yang kompleks. Modul Angular selalu dihiasi dengan awalan @NgModule untuk menggambarkan sifat-sifatnya. Properti yang paling penting adalah deklarasi (kelas tampilan), ekspor, impor, penyedia, dan bootstrap.
Komponen
Komponen bertanggung jawab untuk bagian layar yang disebut tampilan. Solusi Angular berisi komponen root, yang menghubungkan hierarki komponen dengan halaman model objek dokumen. Secara umum, komponen memiliki fungsi sebagai berikut:
- untuk mendukung logika domain;
- untuk mengimpor data yang diperlukan baik untuk komponen tersebut maupun pandangannya;
- untuk membuat koneksi dengan tampilan;
- untuk mengirimkan nilai ke komponen lain.
Awalan @Component mengidentifikasi kelas di bawah ini sebagai kelas komponen dan menentukan metadatanya yang memberi tahu Angular di mana mendapatkan bagian-bagian penyusun yang perlu dibuat dan menyajikan komponen dan pandangannya.
Template
Template adalah kombinasi dari html dan angular bentuk. Ini digunakan untuk menentukan tampilan komponen. Sebagai aturan, tampilan diatur secara hierarkis, dan template yang terkait dengan komponen mendefinisikan tampilan host komponen dan hierarki tampilan.
Metadata
Kami telah menyebutkan beberapa dekorator yang ditambahkan ke elemen Angular. Peran utama mereka adalah melampirkan metadata ke kelas untuk membuat Angular memahami cara menghadapinya. Oleh karena itu, metadata adalah elemen yang harus Anda tambahkan ke kelas untuk memandu perilaku kerangka kerja.
Pengikatan Data
Pengikatan data adalah mekanisme untuk menghubungkan bagian template dengan bagian-bagian komponen. DB secara signifikan menghemat waktu dan usaha karena mempersingkat jumlah baris kode yang akan ditulis.
Angular menyediakan empat bentuk DB:
- pengikatan interpolasi - anda mengikat nama properti ke templat tampilan untuk menampilkan properti komponen;
- pengikatan properti - anda mengatur properti ke nilai ekspresi templat pengikatan properti;
- ikatan peristiwa - anda mengidentifikasi peristiwa klik tombol sebagai target pengikatan;
- pengikatan data dua arah - anda menggabungkan pengikatan properti dan peristiwa dalam satu notasi
Arahan
Direktif memberikan instruksi ke Angular pada transformasi yang benar dari halaman model objek dokumen. Secara teknis setiap komponen adalah direktif dengan template. Dua jenis arahan lainnya adalah:
- direktif struktural mengubah struktur templat halaman model objek dokumen;
- direktif atribut memperbarui atribut elemen tertentu yang ada
Layanan
Layanan adalah kelas yang ditentukan pengguna yang terdiri dari fitur atau nilai apa pun yang dibutuhkan aplikasi Anda. Dianjurkan untuk menambahkan tujuan sempit ke layanan sehingga berkinerja baik. Komponen mengkonsumsi layanan dan memperkaya UI / UX solusi.
Injeksi Dependensi (DI)
Injeksi dependensi adalah cara untuk memberikan contoh baru dari kelas dengan dependensi yang akurat dan lengkap yang diperlukan. DI tidak mengambil data dari server tetapi mendelegasikan tugas ke layanan. Dengan demikian, komponen Angular baru disediakan dengan layanan yang mereka butuhkan dengan bantuan suntikan ketergantungan.

Sumber: angular.io
Versi Angular
Versi Angular stabil pertama dirilis pada tahun 2010 dan disebut AngularJS (versi 0.9.0, alias dragon-breath). Pada tahun 2016, produk ini benar-benar ditulis ulang dan diberi nama Angular 2. Itu tidak kompatibel dengan AngularJS sama sekali. Pembaruan lainnya diikuti:
- Sudut 4 - Maret 2017
- Sudut 5 - November 2017
- Sudut 6 - Mei 2018
- Sudut 7 - Oktober 2018
- Sudut 8 - Mei 2019
- 9 - Februari 2020
- 10 - Juni 2020
- Sudut 11 - November 2020
Versi terbaru ditandai dengan perubahan seperti TypeScript 4.0 dan Dukungan Webpack 5, pindah ke ESLint untuk mengevaluasi pola dalam kode, dan memperbarui dukungan penggantian modul panas.
Sumber Daya untuk Mempelajari Kerangka Kerja
Kami sarankan Anda mulai dengan mempelajari panduan dokumen dan gaya Angular. Luangkan beberapa jam untuk menyelidiki konsep inti dan beralih ke membuat aplikasi sampel. Buat aplikasi Tour of Heroes anda yang akan membantu agen kepegawaian untuk mengelola pahlawannya yang stabil.
Alat dan libs yang berguna:
- Amexio Canvas Web Based Drag and Drop IDE;
- Kode Studio Visual;
- Taman Bermain Sudut;
- Kerangka Pengujian Busur Derajat;
- UI-jar - Pengembangan Panduan Gaya Berbasis Tes;
- Tumpukan Data Apollo;
- Validator Formulir Reaktif RxWeb;
- Amexio - Ekstensi Sudut;
