Wawancara dengan Alexander Makarov, tim inti Yii

Salah satu pengembang utama Yii, Alexander Makarov ( SamDark ), akan memberikan ceramah tentang metrik paket di DevConf dan saya mengambil kesempatan untuk mengajukan beberapa pertanyaan tentang versi baru Yii , ORM baru, penggalangan dana untuk OpenCollective , pengembangan sumber terbuka penuh waktu dan sedikit tentang konferensi.

Saya akan mulai dengan pertanyaan yang selalu Anda tanyakan. Ada apa dengan Yii ? Kapan Yii 3 ? Saya telah menyaksikan pembuatan aktif paket baru di github.com/yiisoft untuk beberapa waktu.

Dengan Yii, semuanya baik-baik saja. Yah, hampir. Untuk menjelaskannya, Anda perlu melihat sedikit ke belakang.

Ketika kami membuat versi 2.0, kami agak melebih-lebihkan kekuatan kami. Dapat dimengerti, Qiang Xue menggulung gunung setiap hari dan bagi kami semuanya terasa sekaligus.

Kemudian, sayangnya, dia tidak punya cukup waktu untuk OpenSource, dan dukungan untuk apa yang dilakukan memakan sisa tim sepanjang waktu. Yah, karena tidak ada yang terlibat dalam kerangka kerja penuh waktu, itu menghasilkan fakta bahwa rilis tidak sering dan besar. Selain itu, saat mendesain, kami melakukan kesalahan. Sekarang mereka tampak jelas bagi saya, tetapi kemudian kami pikir itu sangat bagus. Untungnya, jumlahnya tidak banyak. Mereka tidak membuat Yii 2.0 buruk, kerangka kerjanya bagus. Tetapi seiring berjalannya waktu, mereka menghasilkan janji kompatibilitas ke belakang, banyak fitur dan kurangnya waktu yang memberi kami masalah dengan pengembangan kerangka kerja: pengenalan PSR , menghindari penutupan paket dan perpustakaan yang umum untuk semua PHP , peningkatan dalam hal penerapan pendekatan pengembangan yang lebih kompleks, testabilitas yang lebih baik.

Ada upaya untuk menyingkirkan evolusi. Untuk sementara saya percaya pada ini dan berbicara tentang versi 2.1. Tapi, utang teknisnya sudah terlalu besar. Itu tidak akan menjadi kerangka kerja yang sangat baik di mana tidak akan masuk akal. Dan sekarang, pada titik tertentu, kesadaran datang bahwa akan perlu untuk memperbaiki segala sesuatu dan banyak, dan bahkan membuang dan menulis ulang banyak bagian. Tetapi sebelum melemparkan saya ke medan perang, saya duduk dengan baik dan refleks. Saya menunjukkan pada diri sendiri apa yang ingin saya perbaiki, prinsip-prinsip membangun 3.0 dan nilai-nilai Yii sebagai sebuah organisasi. Ini menghasilkan beberapa dokumen:

https://github.com/yiisoft/docs/blob/master/001-yii-values.md
https://github.com/yiisoft/docs/blob/master/003-roadmap.md

Selanjutnya, pekerjaan dimulai pada alokasi paket individu dan dalam prosesnya, prinsip-prinsip membangun paket Robert Martin dibaca kembali dan dipikirkan kembali. Paket-paket ini sebenarnya tidak sepenuhnya baru. Ini adalah bagian dari Yii2 yang, sebagian besar, dapat digunakan secara terpisah.
Tetapi ada yang baru, seperti:

https://github.com/yiisoft/event-dispatcher
https://github.com/yiisoft/di

Prosesnya belum selesai, sehingga peningkatan jumlah paket akan dilanjutkan. Sekarang tidak mudah dengan mereka, tetapi nantinya akan lebih mudah untuk mempertahankannya.

Saya ingat Anda memiliki rencana untuk menggunakan beberapa ORM baru, yang sedikit orang ketahui. github.com/cycle/orm Saya belum repot-repot mengenalnya secara rinci, katakan padaku bagaimana perbedaannya dengan orang lain dan bagaimana hal itu menarik perhatian Anda?

Ya, itu benar-benar Siklus . Itu dilaksanakan oleh Anton Titov, penulis roadrunner.dev . Dokumentasi di sana masih belum cukup relevan, jadi jika Anda belum siap untuk membaca sumbernya, masih terlalu dini untuk masuk ke dalam.

Aku dan anton sudah lama berbicara. Dia kemudian memiliki kerangka kerja internal dan mengajukan pertanyaan tentang bagaimana dan apa yang bekerja di Yii , apa yang saya sukai dan tidak suka dalam Rekaman Aktif. Dibahas dan pro dan kontra dari Doktrin . Kadang-kadang mereka menelepon dan Anton menunjukkan bagaimana dan apa yang telah dilakukan di sana dan saya mengatakan berkali-kali bahwa itu lebih nyaman di Yii .
Pada titik tertentu, saya mulai kurang berbicara dan menyadari bahwa sesuatu yang menarik secara global dapat datang dari Cycle . Pada saat itu, sudah ada sintaksis yang mirip dengan pembangun permintaan Yii, konsep hubungan, dan banyak lagi. Yang paling menarik adalah fakta bahwa Anton memiliki RoadRunner dalam produksi dan sangat penting baginya bahwa Cycle tidak bocor, tidak memakan memori tambahan dan tidak berantakan karena kesalahan dalam pemrosesan batch.

Bahkan, saya terakhir menonton Cycle secara detail di musim semi dan keputusan untuk mengambilnya secara default untuk Yii tidak dibuat. Ini hanya opsi. Tetapi satu hal yang jelas: kita tidak akan terikat dengan Rekaman Aktif untuk validasi, formulir, dan sebagainya. Semuanya harus bekerja dengan apa saja: dengan DTO, dengan entitas Doktrin, dengan Cycle.
Yii baru-baru ini mulai mengumpulkan dana melalui opencollective.com/yiisoft . Sasaran "Pengembang inti yang fokus - $ 24.000 per tahun" saat ini hampir selesai. Apa artinya ini? Pengembang penuh waktu yang akan berurusan secara eksklusif dengan Yii? Siapa itu?

Ya, kami benar-benar memulai kampanye penggalangan dana karena ada lebih banyak waktu untuk Yii 3 daripada sebelumnya hanya untuk dukungan Yii 2 . Pengembang inti terfokus tidak berarti bahwa itu akan penuh waktu (jumlahnya masih tidak sebanding dengan komersial penuh waktu), tetapi itu berarti bahwa hampir setiap hari satu pengembang akan mencurahkan banyak waktu untuk kerangka kerja tanpa terganggu oleh pembakaran produksi, tenggat waktu, masalah tim, dan itu saja . Artinya, tidak hanya lebih banyak waktu, tetapi juga fokus pikiran yang baik tanpa faktor yang sangat mengganggu.

Saya akan menjadi pengembang pertama. Setelah mencapai tujuan, kami akan mencoba menaikkan standar dan memperluas ini ke anggota lain dari tim inti.
Semua peningkatan aktivitas ini kemungkinan besar disebabkan oleh fakta bahwa Anda akhirnya punya waktu. Anda bekerja di Skyeng, ditinggalkan di sana (Anda dapat membaca tentang alasan dan detailnya di sini - rmcreative.ru/blog/post/poka--skyeng ). Apakah Anda terus berurusan hanya dengan open source? Bagaimana perasaanmu Anggaran keluarga?

Ya, seperti ini: saatnya telah tiba dan Yii telah naik dengan kuat dalam prioritas tujuan. Saya berurusan hampir secara eksklusif dengan OpenSource. Sekarang OpenCollective memungkinkan Anda membayar hampir semua akun. Kadang-kadang saya mengambil beberapa pekerjaan kecil seperti tinjauan kode, proses atau keamanan, merancang pustaka OpenSource, mencari orang-orang untuk perusahaan (teman-teman yang merupakan pengembang yang baik, mereka juga mencari), tetapi tidak banyak, sehingga tidak membahayakan pengembangan kerangka kerja.

Sensasi ... bermacam-macam. Ini yang benar-benar saya sukai. Saya senang itu ternyata alat yang hebat. Senang dengan orang-orang yang tidak acuh pada Yii dan yang membantu. Saya suka berbicara di konferensi.

Terkadang beban tanggung jawab meremukkan. Saya ingin santai, tetapi "perlu" membuat saya melakukan sesuatu. Paling sering, tidak ada yang masuk akal keluar dalam suasana hati seperti itu, jadi saya mencoba untuk meyakinkan diri saya sendiri bahwa sisanya layak.

Nah, pemahaman bahwa masih banyak pekerjaan ke depan juga tidak terlalu terasa. Meskipun, jika Anda melihat apa yang telah dilakukan setiap minggu, menjadi jelas bahwa melakukan itu semua adalah nyata dan kami akan melakukannya.

Saya menantikan saat ketika mungkin untuk mendeklarasikan alpha dan mendapatkan ulasan kemarahan pertama :)
Saya masih ingat Anda membuka sesuatu seperti warung kopi, dan mungkin bukan hanya satu. Bisnis untuk jiwa? Apakah ini membutuhkan banyak waktu?

Dua rumah kopi, ya. Mereka melakukannya sendiri untuk merasa senang. Bilah tinggi. Yang bagus ternyata, tetapi ada ruang untuk tumbuh. Adikku terutama terlibat dalam kedai kopi sekarang. Waktu tidak butuh banyak.
Pada bulan Mei, Anda adalah salah satu penyelenggara konferensi PhpRussia . Bagaimana dia pergi?

Itu berjalan dengan baik. Mereka melakukan hampir semua yang mereka inginkan: 500 orang plus pemirsa online. Penutur asing terkenal, program yang kuat. Hampir tidak ada hamparan sama sekali. Ulasan sebagian besar positif, tetapi ada banyak hal untuk dikembangkan. Kami akan melakukan lebih banyak.
Mengapa pengembang biasa harus menghadiri konferensi seperti itu?

  1. Untuk mengetahui di mana harus tumbuh.
  2. Untuk memahami apakah semuanya benar dalam proyek atau tidak.
  3. Rekrut alat dan praktik baru.
  4. Untuk mengobrol. Ini sering memberikan hasil yang sangat tak terduga: mulai dari komunikasi yang menyenangkan hingga tips dan wawasan yang tak ternilai.

Dan akhirnya, tentang laporan Anda. "Teori Pemrograman: Prinsip dan Metrik Paket." Anda menyebut Robert Martin dan pemikirannya tentang paket. Bagaimana ini berlaku di dunia PHP? Dalam dunia bahasa yang dikompilasi, membagi satu proyek menjadi beberapa paket yang dikompilasi ke dalam rakitan terpisah adalah praktik yang cukup normal dan beberapa aturan sangat diperlukan di sana. Dalam PHP, kami biasanya berbicara tentang paket komposer, yang sedikit berbeda, dan prinsip-prinsip ini dengan metrik diperlukan hanya untuk proyek-proyek tingkat Yii3. Tidak

Ini cukup berlaku untuk PHP . Tentu saja, pertama-tama, ini diperlukan untuk proyek di tingkat Yii , Symfony atau Laravel , tetapi untuk proyek komersial ini juga masuk akal. Metrik paket dapat diterapkan tidak hanya pada paket Komposer, tetapi juga pada modul kode, layanan mikro, dan sebagainya.



DevConf akan diadakan 21-22 Juni dan hanya 2 minggu yang tersisa sebelum itu. Laporan yang kuat, kesempatan untuk mendiskusikan banyak pertanyaan di sela-sela atau saat rehat kopi dan mendapatkan muatan positif yang baik untuk waktu yang lama - daftar .

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


All Articles