Next.js untuk AMP 

Membangun halaman AMP melalui rendering sisi-server React memberikan momentum yang cukup bagi kami untuk menyadari bahwa kami perlu menambah kemampuan untuk mendukung kasus penggunaan ini. Itulah sebabnya kami berintegrasi dengan Next.js, salah satu framework paling populer untuk React. Fakta menarik: nextjs.org seluruhnya dibangun dengan AMP!


amp-script

Pengubah permainan <amp-script> akhirnya meluncur tahun ini. Komponen yang sangat dinanti-nantikan ini memungkinkan Anda menambahkan JavaScript kustom ke halaman AMP Anda, berbagi kode antara halaman AMP dan non-AMP, dan membangun hal-hal yang sebelumnya tidak mungkin dilakukan.


OpenJS foundation menyambut AMP 





Kami mengungkapkan hal yang berikutnya untuk model tata kelola terbuka dengan mengumumkan keputusan untuk bergabung dengan OpenJS Foundation. Misinya selaras dengan misi kami, dan akan memperbesar beragam suara dalam teknologi dan mendukung upaya kami untuk membuat web yang lebih baik. 


AMP di kotak masuk Anda 





Gmail meluncurkan dukungan AMP untuk email, guna menghadirkan pengalaman terbaik pengguna ke kotak masuk Anda. Pengirim email sekarang bisa membuat pengalaman mulus dan konten interaktif untuk meningkatkan interaksi. AMP untuk email juga memiliki keterlibatan dari penyedia email utama yang lain seperti Outlook dan Yahoo Mail, dan kami berharap untuk membentuk kembali ekosistem email bersama. 

Komponen baru juga tersedia di Mail.ru, dan pengguna awal sudah merayakan hasil yang luar biasa. OYO, Perusahaan perhotelan terbesar di India, mengalami peningkatan 60% dalam konversi saat menguji AMP untuk email. 


Terima kasih telah menyukseskan AMP Conf  

Tim kami bertemu dengan hampir 500 orang termasuk Anda di Tokyo pada #AMPConf tahunan kami yang ketiga. Selain pengumuman produk, kami juga meluncurkan amp.dev yang didesain ulang total, sebuah situs web untuk semua contoh kode, template, dan dokumentasi kami. AMPConf2020 saat ini sedang dikerjakan, jadi nantikan informasi selanjutnya di mana kami akan menghadirkan acara yang berikutnya.


AMP Contributors Summit di Big Apple 

Pada awal Oktober kami bertemu dengan sekitar seratus kontributor di New York pada acara tahunan #AMPCS2019 untuk membahas fitur-fitur baru AMP. Tidak hanya ceramah, kami menyelenggarakan sesi breakout di mana kami bekerja bersama untuk meningkatkan project kami, ///dan menyempurnakan beberapa fitur AMP///. 


Komunitas yang kuat

Hampir 1.000 orang telah berkontribusi kode untuk AMP dan membantu kami merancang web yang lebih cepat dan lebih baik untuk semua orang. Tahun ini saja, 341 kontributor telah membuat lebih dari 18.300 kontribusi di semua repositori AMP project. 





Orang-Orang di Balik Kode

Komunitas memainkan peran besar dalam menyukseskan AMP; di situlah kami membagikan apa yang kami ketahui dan mempelajari apa yang tidak kami ketahui. Jadi kami meluncurkan seri ‘Orang-Orang di Balik Kode‘ untuk memahami bagaimana anggota komunitas menggunakan AMP dalam kehidupan nyata untuk membuat perbedaan. 


19 Roadshow baru ///siap kami lakukan/// 

Tahun ini, AMP melakukan roadshow 19 kali, dan menghadirkan Roadshow kami ke seluruh dunia. Dari Johannesburg hingga Seoul, 1.600 orang datang termasuk Anda untuk melihat apa itu AMP. 
Roadshow dirancang untuk membantu developer membangun situs web AMP lengkap dengan percaya diri. Jadi kami mendalami empat pilar kunci: desain, interaktivitas, DevOps, dan monetisasi, untuk memastikan Anda memiliki semua yang dibutuhkan agar berhasil. 

Jika Anda ingin melihat ke mana kami akan datang pada tahun 2020, kunjungi halaman AMP Roadshow untuk mencari tahu. Tidak melihat kota Anda di daftar? Beri tahu kami, kami selalu mencari tempat baru untuk dikunjungi, atau jadi host event Anda sendiri. Kami akan menyediakan semua materinya – yang perlu Anda lakukan hanyalah datang!





Visi 2020 

Ini merupakan tahun yang luar biasa. Terima kasih atas kreativitas dan komitmen Anda untuk membuat web yang lebih cepat dan mengutamakan pengguna bagi semua orang. Kami sangat menantikan hal yang berikutnya untuk AMP, dan berharap bisa melanjutkan kerja sama kita di tahun yang baru. Agar tidak ketinggalan informasi tentang semua project AMP dan melihat visi 2020 kami, silakan mendaftar newsletter ini. 

Ditulis oleh Alex Durán, AMP Project Marketing di Google

Agar sukses menguji implementasi Flow, kami sarankan menggunakan operator take untuk mendapatkan beberapa item dari Flow dan operator toList sebagai operator terminal untuk menerima hasilnya dalam daftar. Lihat contohnya dalam pengujian berikut:
class AnotherStreamDataSourceImplTest { @Test fun `Test happy path`() = runBlockingTest { // Prepare subject val result = subject.flow.take(1).toList() // Assert expected result } }
Operator take sangat cocok untuk menutup Flow setelah Anda mendapatkan item. Tidak menutup Flow yang dimulai (atau BroadcastChannel) setelah setiap pengujian akan membocorkan memori dan membuat rangkaian pengujian yang kacau dan tidak konsisten.


Catatan: Jika implementasi DataSource dilakukan dengan BroadcastChannel, kode di atas tidaklah cukup. Anda harus mengelola siklus hidupnya dengan memastikan bahwa Anda memulai BroadcastChannel sebelum pengujian dan menutupnya setelah pengujian selesai. Jika tidak, Anda akan membocorkan memori. Anda bisa melihat pengujian seperti ini dalam contoh Flow berikut.
Menguji praktik terbaik Coroutine juga berlaku di sini. Jika Anda membuat coroutine baru dalam kode yang sedang diuji, Anda mungkin ingin menjalankannya di thread pengujian untuk eksekusi deterministik pengujian. Ketahui selengkapnya tentang hal ini dalam pembicaraan Testing Coroutines ADS 2019.


Ringkasan

  • Utamakan mengekspos Flow kepada konsumen daripada Channel karena semua kontrak eksplisit dan operator yang disediakan Flow.
  • Dengan Flow, blok produser akan dieksekusi setiap kali ada listener baru dan siklus hidup streaming data akan ditangani secara otomatis.
  • Dengan BroadcastChannel, Anda bisa berbagi produser tetapi Anda harus mengelola siklus hidupnya sendiri.
  • Pertimbangkan untuk mengubah API berbasis callback ke coroutine untuk integrasi API yang lebih baik dan idiomatis dalam aplikasi Anda.
  • Uji implementasi Flow secara mudah dengan menggunakan operator take dan toList.