10 tahun Android: ingat semuanya



Sepuluh tahun yang lalu, pada tanggal 23 September 2008, Android 1.0 dirilis dan ponsel Android HTC Dream pertama kali diperkenalkan . Sekarang Android adalah OS dengan basis pengguna terbesar di dunia, dan kemudian semua ini tampak seperti proyek yang dapat dengan mudah gagal.

Pada kesempatan ulang tahun, kami memutuskan untuk mengingat kembali bagaimana sistem berubah sepanjang waktu ini. Karena kami mengadakan konferensi Mobius , Android menarik bagi kami tidak hanya sebagai pengguna, tetapi juga dalam hal pengembangan aplikasi. Jadi kami juga mengingat momen-momen penting bagi para pengembang. Vladimir dzigoro Ivanov , anggota komite program Mobius, yang telah menulis untuk Android sejak 2009, membantu kami dalam hal ini.

Zaman prasejarah


Untuk lebih memahami perkembangan Android, perlu diingat apa yang mendahului rilis.

Pada tahun 2003, ketika hampir semua ponsel adalah “dialer” sederhana, startup Android Inc. muncul di California. Perusahaan baru nyaris tidak punya cukup uang untuk menyewa kantor, tetapi co-founder Andy Rubin memiliki pengalaman berharga. Perusahaan sebelumnya adalah Danger Inc. membuat perangkat Bahaya Hiptop, yang kemudian dijelaskan dengan kata-kata "kombinasi telepon, PDA dan pager":


Awalnya di Android Inc. dimaksudkan untuk membuat platform untuk kamera digital, tetapi pada tahun 2004 beralih ke sisi ponsel. Dan pada 2005, Google membeli perusahaan itu, dan Android telah berevolusi dari startup yang tidak mencolok menjadi proyek raksasa internet.

Namun, ini tidak menjamin kesuksesan. "Ponsel pintar" menjadi lebih populer, tetapi pasar OS untuk mereka tampaknya sudah terpecah: Windows Mobile, Symbian, OS BlackBerry dan Palm OS menetap di sana. Bagaimana cara bersaing dengan mereka di platform baru, walaupun itu dari Google? Perhitungannya adalah bahwa produsen ponsel tidak senang dengan kebutuhan untuk membayar Microsoft untuk menggunakan Windows Mobile, sehingga OS gratis memiliki keuntungan.

Baik smartphone itu sendiri maupun skenario penggunaannya sangat berbeda dari zaman kita. Ketika tidak ada kamera menghadap ke depan, tidak ada GPS, dan Internet pada kecepatan 2G, ini jelas bukan untuk selfie, navigasi, dan video online - ini untuk email. Tetapi perbedaan utama adalah bahwa layar dirancang untuk input stylus, atau sama sekali tidak peka terhadap sentuhan, dan tombol input fisik tetap menjadi metode input utama. Dan Google awalnya melanjutkan dari hal yang sama. Ketika pada tahun 2006 perusahaan menunjukkan praktik terbaik kepada operator seluler, mereka tampak seperti BlackBerry: banyak tombol, layar horizontal kecil, kata "sentuh" ​​tidak muncul di mana pun.


Dan pada 2007, iPhone diperkenalkan. Dan ini bukan hanya penampilan pesaing lain, tetapi pendekatan baru berdasarkan menyentuh layar tanpa stylus. Melihat produk baru, Google sebagian merevisi pandangan mereka. Diputuskan bahwa layar sentuh diperlukan, tetapi mereka tidak terburu-buru untuk menolak tombol fisik. Dan tahun depan mereka mempresentasikan hasilnya kepada dunia.



2008


Jadi, sepuluh tahun yang lalu, ponsel Android pertama diperkenalkan menjalankan versi rilis pertama dari Android. Perangkat ini memiliki tiga nama (T-Mobile G1 di Amerika Serikat, Era G1 di Polandia, HTC Dream di seluruh dunia). Tetapi Android 1.0 tidak memiliki nama: tradisi "makanan penutup dalam urutan abjad" muncul kemudian. Ada juga nama versi untuk robot, tetapi hanya untuk versi pra - rilis .

Seperti Bahaya Hiptop enam tahun sebelumnya, layar HTC Dream bergeser, memberikan akses ke keyboard fisik. Dan pada saat itu, itu adalah satu-satunya cara untuk memasukkan teks: tidak ada keyboard di layar di Android 1.0.


Juga tidak ada deretan tiga tombol di layar. Pertama, mereka juga fisik, dan kedua, set mereka agak berbeda: tombol start dan end, "Home", "Back", "Menu" - dan trackball yang dapat diklik. Secara umum, jika diinginkan, perangkat ini dapat digunakan tanpa menyentuh layar sama sekali. Selain itu, multitouch tidak didukung, dan tidak ada cara untuk "memperbesar dengan dua jari". Omong-omong, layar itu sendiri dengan diagonal 3,2 '': sekarang akan dianggap kecil, tapi kemudian besar, layar tumbuh ke ukuran modern secara bertahap.

Dan dari sudut pandang pengembangan ponsel, ini menarik. Seperti yang Anda ketahui, sebelum merilis iPhone pertama, Steve Jobs berpikir bahwa ia sama sekali tidak membutuhkan aplikasi pihak ketiga - cukup Anda dapat membuka situs apa pun di browser. Dan pada akhirnya, App Store, yang tanpanya sekarang sulit untuk membayangkan iPhone, muncul hanya setahun kemudian. Jadi, Google bertindak berbeda: Pasar Android (pendahulu Google Play) diumumkan sebelum rilis Android 1.0, dan tersedia untuk pengguna pada 22 Oktober 2008. Pada awalnya, dia tidak bisa membanggakan berbagai macam, tetapi, secara umum, ada juga peringatan di hidung!



2009


Rilis pertama adalah pada prinsip "mari kita lepaskan apa yang ada": sudah jelas bagi semua orang bahwa lebih banyak yang perlu ditambahkan, tetapi untuk proyek skala besar seperti ini diharapkan. Tidak mengherankan bahwa sepanjang tahun berikutnya sistem ini dilengkapi dengan kemampuan yang sekarang kita anggap remeh. Di antara fitur versi 1.5 (April 2009) adalah rotasi otomatis layar, perekaman video, widget. Dan akhirnya, keyboard di layar. Dan pada saat yang sama nama-nama makanan penutup yang sama: 1,5, yang menjadi versi rilis ketiga, disebut Cupcake.

Pada musim gugur, dengan rilis versi 2.0, ini dilengkapi, misalnya, dengan dukungan flash untuk mengambil gambar. Dan pada musim gugur yang sama, peristiwa penting lainnya terjadi: rilis smartphone Motorola Droid. Pada bulan-bulan pertama setelah rilis Android, tidak jelas apakah itu akan diminati, dan penjualan Droid di Amerika Serikat untuk minggu pertama diperkirakan mencapai 250.000, yang merupakan hasil yang sangat mengesankan saat itu. Dan ini adalah pencapaian penting tidak hanya untuk perangkat tertentu, tetapi untuk seluruh platform, membuktikan kelayakannya.


Mungkin, sebagian, kita bisa berterima kasih kepada Verizon untuk ini. Karena pada saat itu iPhone di AS eksklusif untuk AT&T, operator lain ingin menjawab sesuatu - dan Verizon menemani peluncuran Droid dengan kampanye iklan yang agresif, menekankan keunggulannya di atas iPhone (anehnya keyboard fisik masih disebut yang pertama):


Vladimir Ivanov : Dalam masa-masa sulit ini, Ant atau IDEA sendiri digunakan untuk membangun proyek (meskipun para pertapa menggunakan plug-in DDMS untuk Eclipse). Alat Asynchronous termasuk AsyncTasks dan benang telanjang dalam layanan.


2010


Pada bulan Januari, Nexus One muncul - yang pertama dari ponsel Nexus yang Google kerjakan langsung dengan berbagai produsen. Dia tidak lagi memiliki keyboard fisik, jadi Google mencabut idenya. Dan pada bulan Juni, Samsung Galaxy S pertama mulai dijual - dan seri Android flagships yang paling populer muncul, di mana setiap generasi menghasilkan puluhan juta salinan.



Sementara itu, Android terus aktif menambah apa yang diinginkan pengguna. Di 2.2 Froyo (Mei 2010), dukungan untuk Adobe Flash muncul! Banyak yang gembira! Benar, setelah satu setengah tahun Adobe mematikan dukungan ini, Internet berangsur-angsur beralih ke HTML5, dan kata "flash" menjadi kasar, tapi itu cerita lain.

Selain itu, pengguna dapat mentransfer aplikasi yang diinstal ke kartu microSD. Sekarang pentingnya hal ini mungkin tidak jelas, oleh karena itu, kami menjelaskan: di telepon itu sendiri, penyimpanan kemudian dapat, misalnya, 256 megabyte yang menyedihkan. Tetapi kartu itu dapat dimasukkan ke dalamnya dari hati, gigabyte di 16. Dan ketika aplikasi hanya dapat diinstal pada perangkat itu sendiri, tanpa mentransfernya ke kartu, selalu ada pilihan yang sulit: "jika saya ingin menginstal sesuatu, maka hapus untuk membuat ruang" .

Namun dengan latar belakang peningkatan ini, kutukan abadi Android pertama kali mengumumkan diri mereka: fragmentasi dan pembaruan versi pada perangkat yang sudah dirilis. Misalnya, pada Motorola Droid yang sama, pabrikan menjanjikan pembaruan cepat ke 2.2, dan menepati janjinya - tetapi di AS. Dan di Eropa mereka menyeret dengan sangat, menyebabkan badai kutukan, "Mengapa orang Amerika dapat mentransfer aplikasi ke kartu, tetapi kami tidak memiliki perangkat yang sama?" Tetapi yang paling menyenangkan adalah di Rusia: pada musim gugur 2010, Motorola mengumumkan kepergiannya dari negara itu, dan pembaruan yang dijanjikan tidak muncul sama sekali.

Tidak terburu-buru untuk memperbarui Android, produsen bersaing satu sama lain untuk menulis pembungkus bermerek di atas OS agar berbeda satu sama lain. Geeks meludah ("telepon hanya melambat karena ini"), tetapi satu-satunya alternatif penting dengan stok Android adalah seri Nexus.

Selain itu, pada 2010, tuntutan hukum Oracle terhadap Google yang tak ada habisnya dimulai. Meskipun Java adalah produk Sun Microsystems, tidak ada keluhan tentang penggunaan Java di Android, tetapi pada tahun 2009 Sun diserap oleh Oracle - dan pemilik baru melihat peluang untuk menuntut miliaran pada yang diperoleh.



2011


Setahun sebelumnya, iPad muncul, dan tablet tampak seperti dunia baru yang berani yang sebanding dalam skala dengan smartphone. Samsung kembali pada 2010 dengan Galaxy Tab pertama, tetapi terpaksa menggunakan "telepon" Android, tidak dioptimalkan untuk layar 7 inci. Jelas bahwa Google membutuhkan dukungan di sini, dan diikuti dalam bentuk Android 3.0 Honeycomb.



Untuk layar besar, jelas, antarmuka lain diperlukan - misalnya, secara bersamaan menunjukkan surat terbuka dan daftar surat, dan bukan hanya satu ini. Dan dalam pengembangan Android, "fragmen" muncul, dirancang untuk ini: sehingga elemen individu dapat diperagakan, tergantung pada situasi, setidaknya bersama-sama, setidaknya satu per satu.

Motorola dengan tablet Xoom ingin merilis perangkat keras pertama. Sekali lagi, sebuah video dibuat dengan lelucon tentang Apple, kali ini dengan anggaran tinggi, mengisyaratkan iklan klasik 1984 milik Apple:


Benar, kali ini tidak berfungsi: Xoom gagal menjual, dan versi Android 3.x adalah yang paling tidak diklaim. Kemudian segalanya berjalan lebih baik dengan tablet, tetapi mereka tidak pernah mencapai tingkat smartphone. Di antara pengembang Android, fragmen menjadi salah satu hal yang paling kontroversial. Alih-alih Motorola yang sangat sukses, Google membelinya untuk paten, kemudian menjual kembali yang lain ke Lenovo.

Semuanya baik-baik saja di smartphone: Android pada 2011 menjadi OS paling populer di sana. Dia tidak lagi mengejar, dan tidak lagi harus membuktikan keunggulan dengan tombol fisik. Sebenarnya, tombol-tombol itu sendiri tidak: pada tahun yang sama layar muncul di Android.
Vladimir Ivanov : Loader dan perpustakaan dukungan datang dengan beberapa fragmen. Sekarang peningkatan platform dapat diseret ke dalam aplikasi Anda. Semua orang melakukan pertemuan dengan tangan mereka - beberapa melalui Maven, beberapa dengan skrip shell, beberapa, Tuhan mengampuni saya, melalui CMake.


2012


Akhirnya, tidak ada lagi kebutuhan untuk "segera merilis fitur yang diperlukan kemarin", dan sekarang mereka menggali lebih dalam ke kedalaman, meningkatkan apa yang sudah dilakukan. Di Android 4.1, Jelly Bean menjadi Project Butter utama: "minyak" dalam nama berarti bahwa semua animasi di antarmuka harus terjadi seperti jarum jam pada 60 fps, dan bukan brengsek.

Dengan smartphone, semuanya hampir sama: tidak ada perubahan mendasar di sana, tetapi kinerjanya terus tumbuh, dan pada 2012 Nexus 4 sudah memiliki 2 gigabytes RAM dan prosesor 4-core. Sekarang Anda bisa melakukan semuanya sama seperti sebelumnya, tetapi lebih cepat dan lebih nyaman.

By the way, tentang "melakukan hal yang sama." Jika pada tahun-tahun awal Android tidak ada banyak aplikasi yang kita gunakan sekarang (dari Uber ke Viber), maka pada tahun 2012 daftar pemimpin saat ini kurang lebih terbentuk. Mungkin benteng raksasa terakhir adalah Instagram: sudah dikenal di iOS sejak 2010, tetapi mereka tidak terburu-buru untuk merilis versi Android, meskipun dengan semakin populernya platform itu sudah tampak aneh. Ingatlah bahwa saat itu Instagram sendiri berbeda dari hari ini: tidak ada langsung, tidak ada cerita, tidak ada versi web, tidak ada video. Hanya foto, dan hanya foto kotak.


3 April 2012, benteng itu akhirnya runtuh, dan Instagram muncul di Google Play. Ngomong-ngomong, tepat sebelum itu, nama "Google Play" muncul. Awalnya, toko aplikasi bernama Android Market, tetapi pada tahun 2012 Google Music dan Google eBookstore juga muncul, dan perusahaan memutuskan untuk menggabungkan semua ini di bawah merek baru.

Kembali di tahun yang sama, Google pertama kali menunjukkan pengembangannya dari Google Glass, dan, sebenarnya, ada juga Android di dalamnya. Tapi, tentu saja, itu sangat berbeda dari Android yang biasa bagi kami - dan harapan besar yang diletakkan pada Glass tidak terwujud.



2013


Rencana lima tahun kedua Android dari 2018 lebih mudah untuk mengalihkan perhatian Anda daripada yang pertama. Setidaknya karena fakta bahwa kali ini tidak benar-benar hilang: KitKat versi 4.4, yang muncul pada 2013, masih sering digunakan, dan banyak pengembang Android terus mendukungnya bahkan dalam aplikasi yang sama sekali baru.

Secara umum, jika versi OS tetap digunakan setelah lima tahun dan lima rilis utama, ini terlihat seperti masalah. Google menyadari masalah ini, dan baru pada tahun 2013 mereka memperkenalkan inisiatif Google Play Edition: beberapa flagships memiliki versi khusus dengan stok Android tanpa "add-on" dan dengan janji pembaruan tepat waktu. Sayangnya, meskipun secara resmi penyelesaian program belum pernah diumumkan, secara de facto sejak 2015 ponsel seperti itu tidak lagi muncul.

Tetapi pada tahun 2013, ada dua peristiwa penting bagi pengembang Android yang tidak kehilangan signifikansinya setelah beberapa tahun, tetapi, sebaliknya, menjadi lebih penting dari waktu ke waktu. Salah satunya adalah pengumuman Android Studio. Pada saat itu, IDE ini berada pada tahap pratinjau akses awal yang sangat kasar. Dan pada Desember 2014, ketika versi 1.0 dirilis, orang terus mengeluh tentang ketidaksempurnaan. Namun, bodoh untuk berpendapat bahwa pengumuman tahun 2013 membagi semua pengembangan Android menjadi "sebelum" dan "setelah", meninggalkan Eclipse di masa lalu.


Acara kedua. Pada 2013, dua perkembangan terkenal dari Square segera mencapai versi 1.0: OkHttp dan Retrofit. Sekarang, ketika banyak menambahkannya ke proyek sudah ada di mesin, mungkin tampak bahwa mereka selalu ada. Tapi tidak: GitHub menunjukkan tanggal rilis yang dirilis oleh (siapa lagi) Jake Wharton.

Dan pada 2013, Andy Rubin meninggalkan proyek Android. Pertama, dia melakukan hal-hal lain di Google, dan kemudian meninggalkan perusahaan itu sendiri "untuk melakukan hal-halnya sendiri" dan mendirikan Produk-Produk Penting.



2014


Tahun ini Android telah "sangat luas", setelah memperoleh sejumlah opsi untuk perangkat yang berbeda:

  • Android Wear (baru-baru ini berganti nama menjadi Wear OS) untuk jam tangan. Tidak ada lagi yang mengikuti kategori produk baru Apple, tetapi sebuah permainan yang maju: jam tangan pertama di bawah OS baru muncul pada 2014, dan Apple Watch pada 2015.
  • TV Android Perusahaan-perusahaan Cina telah merilis set-top box dengan Android biasa, dan Google sendiri sudah naik ke TV dengan Chromecast dan Google TV. Tetapi hanya dengan TV Android muncul versi Android yang dioptimalkan untuk TV, yang sekarang sudah diinstal pada banyak model Sony dan Philips.
  • Android Auto Di sini, seperti paragraf sebelumnya: mungkin untuk membeli perangkat Android China di mobil sebelumnya, tetapi sekarang pendekatan resmi yang normal telah muncul. Kemudian, pada tahun 2016, menjadi mungkin untuk menjalankan Auto hanya sebagai aplikasi khusus pada telepon pintar, tanpa memengaruhi unit kepala mobil sama sekali.



Di smartphone Android yang biasa juga banyak terjadi. "Luar" yang paling menonjol adalah penampilan Desain Material. Dan “di dalam”, sementara itu, mesin virtual Dalvik diganti dengan ART.

Selain itu, ada inisiatif baru untuk merilis smartphone dengan OS "bersih" - Android One. Berbeda dengan Google Play Edition, di sini ini bukan tentang flagships, tetapi sebaliknya: Sundar Pichai, yang memimpin proyek ini, sedang memikirkan India asalnya dan perangkat yang murah. Dan inisiatif ini lebih sukses daripada Google Play Edition, setelah empat tahun Android One-smartphone terus muncul secara teratur.
Vladimir Ivanov : Yohoho, Gradle mendapatkan popularitas di sekitar sini! Hore!


2015


Ekspansi ke wilayah baru terus berlanjut: di Google I / O 2015 memperkenalkan Android Things (alias Brillo). Sekarang, tiga tahun kemudian, proyek ini masih belum menimbulkan resonansi besar. Tetapi perlu diingat bahwa hanya setelah tiga tahun yang sama ia akhirnya mencapai rilis: versi Android Things 1.0 muncul Mei ini. Mari kita lihat apa yang akan terjadi sekarang ketika dapat digunakan dengan lebih aman.

Pengguna pada tahun 2015 adalah hal-hal yang jauh lebih terlihat seperti Android Pay dan pemindaian sidik jari. Dan meskipun beberapa produsen telah menggunakan pemindai sebelumnya, sekarang dukungan untuk otentikasi sidik jari telah muncul di Android itu sendiri.

Dan pengembang lebih terkenal karena penampilan mode Doze, ketika perangkat idle "tertidur sangat" dan mengurangi aktivitas. Ini adalah awal dari "pengetatan mur": Google mulai membatasi aplikasi di latar belakang untuk meningkatkan masa pakai baterai perangkat. Tujuannya tentu saja bagus, tetapi selama tiga tahun terakhir, tindakan ke arah ini membuat banyak pengembang Android gugup.



Kembali pada tahun 2015, kata-kata "pembelajaran mesin" terdengar dari adegan I / O, dan pada tahun-tahun berikutnya, AI singkatan semakin sering muncul di presentasi Google. Ini telah menjadi jalur utama pihak: telepon tidak hanya meluncurkan aplikasi, tetapi pahami bagaimana Anda menggunakannya, apa yang Anda katakan, apa yang diambil dalam foto Anda, dan apa yang Anda butuhkan.

Pada tahun yang sama, dua perangkat terakhir dari seri Nexus dirilis: Nexus 5X dan Nexus 6P. Namun, saat itu belum diketahui bahwa mereka akan menjadi yang terakhir.
Vladimir Ivanov : RxJava telah mengambil alih dunia pengembangan android. Sial hari itu ...


2016


Dan jelas tentang meninggalkan Nexus setahun kemudian, ketika Google memperkenalkan smartphone Pixel. Jika dalam kasus Nexus, masing-masing model muncul dalam kemitraan dengan beberapa pabrikan ponsel, dan logo pabrikan itu ada di sisi belakang, sekarang Google telah menyatakan diri sebagai perusahaan perangkat keras, dan Pixel sebagai ponsel yang sepenuhnya "milik". Dalam keadilan, masih ada beberapa partisipasi dari perusahaan lain, meskipun tidak diiklankan: HTC secara fisik membuat perangkat dan berpartisipasi dalam pembuatannya.



Hari ketika Google melakukan ini, banyak yang menunggu dengan hati-hati: perusahaan de facto menjadi pesaing bagi produsen ponsel android lain, yaitu, untuk mitranya sendiri. Selain itu, ia juga menggunakan posisinya sebagai pencipta platform, menjanjikan pembeli Pixel nishtyaki eksklusif (seperti penyimpanan gratis gambar beresolusi tinggi di Foto Google).

Tetapi langit tidak runtuh, pabrikan lain tidak memalingkan muka mereka pada Android (itu akan jauh untuk membalikkan punggung mereka), dan penjualan mereka entah bagaimana tidak menderita secara signifikan. Perlu dipertimbangkan bahwa Pixel tidak berusaha untuk menjadi smartphone terlaris di dunia (bahkan tidak secara resmi dikirim ke Rusia). Sebagai gantinya, ia mencoba menjadi "ponsel android" - perangkat yang dapat dilihat sebagai referensi untuk "bagaimana Google melihat ponsel android yang benar." Tidak mengherankan bahwa, meskipun tidak menjadi pemegang rekor penjualan, ia menjadi favorit pengembang Android: Anda bisa yakin dengannya bahwa Anda akan menjadi yang pertama melihat versi Android yang baru.

Selain Pixel, pada tahun 2016 perusahaan mencoba meluncurkan juga Project Tango. Idenya adalah untuk melepaskan androidphones dengan kamera tambahan yang membantu ponsel memahami posisinya di ruang dan benda-benda di sekitarnya. Ini adalah untuk membawa augmented reality seluler ke tingkat yang belum pernah terjadi sebelumnya. Pada bulan November, Lenovo meluncurkan Phab 2 Pro, "telepon pertama yang mendukung Tango," dengan sambutan meriah.

Namun, yang pertama adalah kombinasi dengan kedua dari belakang. Ternyata orang tidak ingin membayar lebih untuk perangkat keras tambahan di smartphone mereka. Google ARCore AR .

2016- . RxJava Android- , RxJava 2. RxAndroid 2 ( « » — , ).



2017


, Google I/O 2017, , Android-: Google Kotlin. , Kotlin. , , Android- « », .



, Google « Kotlin», : Kotlin- Android KTX. , Google : Kotlin , .
: ! ! ! Hore!

Android 8.0 Oreo, Kotlin, , . Project Treble — , Android. , ? , — 85% 8.0, .

Android One , : Android Go. «» Android 8.0 , , . Google « » — , 2017- , .

Pixel ( -!), Pixel : Google , -HTC ( HTC Vive ). : 2008- , Android , , .

. 2010- Nokia , «, , ». , Windows Phone, , . 2017- , Windows Phone , Nokia HMD Global — Android. , , .


. 2017- , Essential Phone. «» , iPhone X, - . , iPhone X, . , Bloomberg , , .

, , 10- Android , .



Waktu kita


Apa selanjutnya Android , , . , . Google .

— . Android 9.0 Pie , , .

— « ». , — . , . Google , .

— Android . , , . - — ? Android- - ?

: «» . Google , , . ? -, Google, , .

Google Fuchsia, Android. Flutter, Fuchsia, Android, iOS. .



: , 9 Pixel 3. , Google , , . , Pixel : Google - .

- , — . ? Android? -, , ?
. , , : Mobius 8-9 , . - — 1 .

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


All Articles