JavaRush /Blog Java /Random-MS /Aliran Java pada 2021: Kotlin, Seni Bina Perkhidmatan Mik...

Aliran Java pada 2021: Kotlin, Seni Bina Perkhidmatan Mikro dan Kubernetes

Diterbitkan dalam kumpulan
Dunia pembangunan berubah dengan sangat cepat. Untuk mengikuti perubahan, anda perlu memahami apa yang berlaku di dunia ini. Mengetahui arah aliran membolehkan anda menyesuaikan diri dengan arah aliran yang berubah dengan pantas. Kecerdasan buatan, peningkatan bilangan integrasi dan Internet of things hanyalah sebahagian daripada trend pengaturcaraan global. JavaRush bertanya kepada pakar pengaturcaraan Java dan pensyarah Andrey Rodionov apa yang akan berlaku kepada Java pada tahun 2021.Aliran Java pada 2021: Kotlin, seni bina perkhidmatan mikro dan Kubernetes - 1

Untuk kawasan manakah Java masih satu-satunya penyelesaian?

Java dalam masa terdekat akan kekal sebagai salah satu platform utama untuk membangunkan aplikasi perusahaan ( iaitu, aplikasi korporat yang digunakan oleh syarikat besar untuk membuat wang. Aplikasi sedemikian mempunyai asas kod yang besar dan keperluan kebolehpercayaan yang tinggi - ed. ) dan backend. Java sesuai dengan seni bina perkhidmatan mikro, walaupun ia bukan satu-satunya alternatif untuk menulis perkhidmatan mikro.

Apakah prospek untuk bahasa JVM lain, khususnya Kotlin, berbanding Java?

Selepas gembar-gembur mengenai bahasa Groovy dan Scala, Kotlin kini merupakan bahasa JVM terkemuka . Ia telah menjadi standard untuk pembangunan Android, tetapi dalam dunia perusahaan Java ia masih belum mendapat tempat untuk dirinya sendiri. Banyak rangka kerja popular ( Spring , Vert.x , gRPC , RSocket ) juga bergantung padanya, membolehkan ia digunakan dalam diri mereka sendiri.

Kotlin ialah bahasa pengaturcaraan berorientasikan objek yang ditaip secara statik yang berjalan di atas Mesin Maya Java dan dibangunkan oleh JetBrains. Juga menyusun kepada JavaScript dan kepada kod boleh laku pada beberapa platform melalui infrastruktur LLVM.

Ciri Kotlin: menyusun kepada kod bait atau JavaScript JVM, sumber terbuka, sintaks yang mudah dibaca, program Kotlin boleh menggunakan rangka kerja dan perpustakaan Java sedia ada.

Adakah terdapat penurunan dalam kualiti Java kerana selang keluaran yang lebih pendek?

Ia tidak akan: hanya inovasi dalam bahasa akan dikeluarkan apabila ia sudah sedia, dan bukannya menunggu beberapa tahun sehingga keluaran seterusnya, seperti yang berlaku sebelum ini. Sesetengah keluaran tidak akan disedari oleh pembangun, kerana ia tidak akan membawa sebarang inovasi yang sangat popular.

Rangka kerja musim bunga: adakah ia akan terus mengembangkan ekosistemnya untuk memenuhi pelbagai keperluan?

Ekosistem Spring terus berkembang secara aktif, dan saya secara berkala menemui satu lagi subprojeknya, yang tidak pernah saya dengar sebelum ini. Perlu diperhatikan juga bahawa Project Reactor dan r2dbc, yang muncul sebagai subprojek Spring, kini boleh dikatakan telah menjadi standard untuk pendekatan reaktif.

Project Reactor ialah perpustakaan Java 8 yang melaksanakan model pengaturcaraan reaktif. Ia dibina di atas spesifikasi Strim Reaktif, standard untuk membina aplikasi reaktif.

R2DBC (Reactive Relational Database Connectivity) ialah projek sumber terbuka khusus untuk pengaturcaraan reaktif untuk SQL.

Apakah arah aliran dalam pembangunan infrastruktur awan IaaS, SaaS, PaaS? Bagaimanakah awan menjadikan infrastruktur lebih mudah untuk dibangunkan, digunakan, diselenggara dan skala?

Aliran utama di sini terus menjadi Kubernetes dan infrastruktur di sekelilingnya dalam bentuk mesh Perkhidmatan. Setiap penyedia Cloud yang menghormati diri menyediakan peluang untuk menggunakan kluster Kubernetes. Dan jika aplikasi ditulis untuk dijalankan pada Kubernetes, ia menjadikannya lebih mudah untuk digunakan dan skala.

Kubernetes (K8s) ialah perisian sumber terbuka untuk mengautomasikan penggunaan, penskalaan dan pengurusan aplikasi kontena.

Kubernetes mengumpulkan bekas yang membentuk aplikasi ke dalam unit logik untuk pengurusan dan penemuan yang lebih mudah.

Kubernetes mengurus dan menjalankan kontena merentasi sejumlah besar hos, dan membolehkan lokasi bersama dan replikasi sejumlah besar bekas. Projek ini telah dimulakan oleh Google dan kini disokong oleh banyak syarikat, termasuk Microsoft, RedHat, IBM dan Docker.

Apakah trend pembangunan lain yang patut diberi perhatian pada tahun 2021?

Salah satu trend menarik yang masih meningkat ialah GraalVM Native Image, yang membolehkan anda menukar aplikasi Java tradisional menjadi satu binari yang tidak memerlukan JVM dan perpustakaan berkaitan untuk beroperasi. Fail binari sedemikian sangat sesuai dengan seni bina perkhidmatan mikro dan pendekatan tanpa pelayan, kerana ia membolehkan anda memulakan contoh baharu aplikasi dengan cepat dan tidak memerlukan "memanaskan" JVM.

Adakah keperluan untuk pembangun muda berubah baru-baru ini disebabkan oleh pembangunan Java?

Kebanyakan projek masih menyertakan inovasi Java 8, walaupun pembangun menggunakan versi Java yang lebih baharu. Oleh itu, keperluan utama ialah pengetahuan tentang API Stream dan elemen pengaturcaraan berfungsi . Ia juga baik untuk mempunyai pemahaman tentang seni bina perkhidmatan mikro , Docker dan Kubernetes , kerana dalam projek moden seorang pembangun pemula perlu segera menangani perkara ini.

API Strim ialah cara baharu untuk bekerja dengan struktur data dalam gaya berfungsi. API Strim (penerangan tentang cara satu atur cara komputer boleh berkomunikasi dengan atur cara lain), pada terasnya, aliran data.

Dengan kemunculan Java 8, Stream API membenarkan pengaturcara untuk menulis dengan lebih ringkas apa yang sebelum ini mengambil banyak baris kod, iaitu, untuk memudahkan kerja dengan set data, khususnya, untuk memudahkan operasi penapisan, pengisihan dan manipulasi data lain. Jika anda tidak mempunyai operasi perantaraan, anda boleh dan harus selalu melakukannya tanpa strim, jika tidak, kod akan menjadi lebih rumit daripada tanpa strim.

Docker ialah perisian untuk mengautomasikan penggunaan dan pengurusan aplikasi dalam persekitaran kontena.

Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION