Akhir baris untuk PHP di Windows

PHP mungkin sudah ada sejak lama, tetapi PHP masih merupakan alat pengembangan Web yang penting. Membangun model pemrograman deklaratif, PHP memperluas sintaks HTML yang sudah dikenal dengan perintah dan fungsi tambahan, menambahkan pemrograman dan ekstensi in-line ke konten Web Anda. Model itu telah menjadikannya bagian penting dari banyak sistem manajemen konten, menyediakan kerangka kerja untuk mengelola konten yang dikirimkan database dan memformat halaman menggunakan templat dinamis.

Masa depan PHP di Windows

Banyak dari CMS tersebut berjalan di dalam firewall perusahaan, menghosting intranet, dan alat kolaborasi internal. Jadi tidak mengherankan melihat bahwa versi resmi Windows dari PHP berasal dari Microsoft, sebagai salah satu proyek open source yang paling lama berjalan.

Tetapi semua hal baik akan segera berakhir, dan Microsoft baru-baru ini mengumumkan bahwa mereka tidak akan memproduksi versi resmi PHP 8 untuk Windows. Hingga saat ini telah mengirimkan rilis Windows sebagai binari dan kode sumber di windows.php.net untuk IIS dan server Web Windows lainnya. Namun, hal itu akan berhenti di masa mendatang, karena tim yang mengirimkan build Windows PHP beralih ke project lain saat PHP 7 menjalani siklus hidup dukungannya.

Apa yang disarankan oleh perubahan kebijakan ini untuk masa depan PHP di Windows? Dan yang lebih penting, apa saja alternatifnya jika Anda ingin mengambil kesempatan untuk mengubah cara kerja Anda?

Ya, ada masa depan

Pertama, dan yang paling penting, PHP untuk Windows tidak akan hilang. Sangat jelas bahwa ada lebih dari cukup permintaan bagi seseorang untuk terus membangun dan mendistribusikan versi Windows PHP selain PHP 7. Microsoft tidak akan secara langsung menyumbangkan sumber daya dan server untuk pembangunan, tetapi kemungkinan besar, itu akan menyumbangkan lisensi dan server untuk proyek PHP untuk memastikan bahwa, setidaknya, build Windows akan keluar dari proses otomatis CI / CD PHP (integrasi berkelanjutan / pengiriman berkelanjutan).

Terserah tim PHP untuk mengembangkan sekumpulan keterampilan Windows untuk memastikan bahwa tes yang tepat sedang dijalankan dan kode itu dioptimalkan dengan benar, dengan memastikan bahwa pengaturan build yang tepat digunakan di Visual Studio. Meskipun seharusnya tidak terlalu sulit, itu tidak sama dengan memiliki sumber daya khusus dari salah satu perusahaan perangkat lunak terbesar di dunia.

Selain itu, ada PHP versi Windows lainnya, yang dibuat oleh campuran perusahaan pihak ketiga dengan alat PHP mereka sendiri dan dari relawan yang membangun dari basis kode sumber terbuka. Jika Anda menginginkan dukungan, Anda mungkin harus memilih versi PHP komersial, sedangkan build terbuka ideal untuk menyusun lingkungan pengembangan Windows PHP.

Menggunakan WSL untuk pengembangan PHP

Jika Anda mencari alternatif, platform aplikasi yang dihosting di cloud Azure App Service milik Microsoft mendukung PHP, meskipun di sini ia berjalan di Linux, bukan di Windows. Jika Anda membuat kode untuk ini, Anda cenderung menginginkan versi Linux PHP di jantung proses pengembangan Anda, menargetkannya dengan alat ruang kerja jarak jauh dalam Visual Studio Code. Ada banyak ekstensi PHP yang berbeda untuk Kode, dari dukungan IntelliSense hingga alat debugging dan pemformatan kode.

Menginstal PHP di WSL (Windows Subsystem for Linux) cukup mudah, dengan semua dependensi yang perlu Anda instal melalui manajer paket pilihan Anda. Menginstal PHP dalam instance Ubuntu WSL akan menginstal dan mengkonfigurasi server Web Apache, sehingga Anda dapat dengan cepat beralih dari menulis dan menguji kode ke menjalankannya di server Web produksi. Instalasi membutuhkan waktu beberapa menit, dengan semuanya siap untuk dijalankan di dalam Terminal Windows dan dapat diakses dari Visual Studio Code yang berjalan di dalam Windows. Tidak masalah jika Anda menggunakan WSL 1 atau WSL 2, Anda mendapatkan pengalaman yang hampir sama dengan versi mana pun.

Dengan instans PHP Linux yang berjalan di mesin pengembangan Anda, Anda sekarang dapat membuat aplikasi PHP dan mengujinya sebelum menerapkannya ke Azure App Services atau ke server Web yang dihosting. Jika Anda menggunakan WSL 2, model pengembangan baru ini dapat digunakan dengan rilis terbaru Docker Containers, menggunakan PC pengembangan Anda untuk membuat kode di WSL dan kemudian mengemasnya sebagai wadah untuk penyebaran yang lebih mudah ke server, baik di jaringan Anda, layanan hosting, atau cloud publik.

Menggunakan PHP di Linux melalui WSL kemungkinan menjadi pilihan yang paling tidak mengganggu untuk pengembangan PHP di Windows, tetapi pendekatan alternatif mungkin bekerja dengan model pengembangan Web yang lebih modern. Anda memiliki banyak pilihan: tetap dalam ekosistem Microsoft menggunakan ASP.NET atau pindah ke model lintas platform berdasarkan pengembangan situs statis menggunakan pendekatan seperti Jamstack.

Model pengembangan baru: .NET Blazor dan Azure Static Web Apps

Satu hal yang jelas: model pengembangan aplikasi Web deklaratif yang digunakan oleh PHP tidak akan hilang. Argumen yang masuk akal untuk berakhirnya dukungan resmi Microsoft untuk PHP adalah bahwa teknologi Microsoft yang lebih baru dapat memberi Anda opsi pengembangan yang serupa, sambil menggunakan lebih sedikit sumber daya dan masih bekerja lintas platform, dan dengan peta jalan yang mendukung teknologi Web yang lebih baru.

ASP.NET Core adalah lingkungan lintas platform yang menggunakan kode .NET sisi server untuk mengirimkan komponen HTML dan JavaScript. Membangun runtime portabel .NET Core, sintaks Razor ASP.NET Core menawarkan teknik pemrograman deklaratif yang mirip dengan PHP. Namun, perbedaan besar muncul saat Anda menggunakannya bersama dengan model pemrograman Blazor sisi server.

Dengan fokus pada aplikasi Web satu halaman, Blazor Server menjalankan kode ASP.NET di server Web Anda, mengumpulkan konten menjadi komponen Web yang telah dirender sebelumnya dengan koneksi Signal R antara konten browser dan layanan back-end. Pendekatan ini memiliki keuntungan karena membutuhkan bandwidth yang relatif kecil, dengan mengorbankan beberapa latensi dengan koneksi bolak-balik antara server dan browser yang diperlukan untuk setiap interaksi. Konten prarender dengan cara ini dapat membantu pengguna merasa bahwa aplikasi lebih responsif, dengan interaksi yang menyegarkan komponen UI.

Peluncuran Azure Static Web Apps baru-baru ini sebagai bagian dari Azure App Services menghadirkan cara baru untuk membuat dan menggunakan konten Web ke Azure dan Windows. Dengan membangun situs secara lokal menggunakan Visual Studio Code dan menghosting konten di GitHub, tindakan GitHub kustom menyebarkan konten yang diperbarui ke Azure. Situs dibuat menggunakan HTML, JavaScript sisi klien, dan koneksi API ke database dan layanan lainnya.

Seperti Blazor dan PHP, Jamstack mengambil pendekatan berbasis template untuk desain situs, meskipun kurang cocok untuk CMS tradisional dan lebih banyak untuk konten berbasis file yang dapat didistribusikan melalui jaringan pengiriman konten, menggunakannya untuk menyimpan konten yang lebih dekat dengan pengguna Anda. Anda dapat membuat situs Azure Static Web Apps berbasis konten menggunakan teknik Jamstack, tetapi Anda harus bersiap untuk membangun kembali seluruh situs setiap kali Anda menerbitkan konten baru.

Akhir dukungan Microsoft untuk PHP-nya sendiri bukanlah bencana. Itu pertanda bahwa prioritas Redmond telah berubah; teknologi seperti WSL dan Linux yang dihosting Azure menawarkan jalur alternatif untuk membangun dan menjalankan kode PHP.

Ini juga merupakan tanda bahwa pendekatan lain yang lebih modern untuk pengembangan aplikasi Web mungkin lebih selaras dengan jalur cloud-centric Microsoft saat ini, yang dibangun di .NET dan pada teknik pengembangan aplikasi modern. Apa pun yang Anda putuskan, Anda punya banyak pilihan.