Saya bekerja dengan perusahaan web yang mendekati titik di mana ia mungkin akan perlu memikirkan kembali produk sebagai V2 - karena tumbuh melampaui beberapa dasar dan prinsip V1 yang telah dibangun ke dalam hampir segalanya, mulai dari model data hingga antarmuka pengguna. Karena berbagai alasan, evolusi ini mungkin melibatkan migrasi dari CakePHP (yang telah dibangun V1) ke Symfony atau Zend.
Saya ingin meminta beberapa pandangan yang berpengalaman tentang bagaimana orang mungkin mengelola transisi seperti ini untuk situs web yang memiliki lalu lintas yang signifikan dan menghasilkan pendapatan. Saya tidak ingin membuka diskusi tentang pro & kontra kerangka kerja PHP yang berbeda, atau mengapa migrasi ini mungkin diperlukan. Sebaliknya, saya akan sangat tertarik mendengar apakah ada beberapa alternatif praktis untuk dasarnya membangun V2 dari awal bersama V1 selama beberapa bulan - dan mengunci waktu pengkodean yang berharga selama durasi periode yang intens ini. Contoh dari alternatif semacam itu mungkin memigrasi aplikasi di bagian-bagian dalam periode waktu yang lebih lama.
Saya akan berterima kasih atas pandangan dari orang-orang yang mungkin telah mengelola atau terlibat dalam transisi semacam itu.
Terima kasih sebelumnya.
sumber
Pelajari kerangka kerja baru dengan sangat baik terlebih dahulu, dan pastikan itu akan memenuhi kebutuhan Anda, dan Anda benar-benar memahami paradigma kerangka kerja baru. Anda harus membuang banyak kode, dan itu tidak masalah. Yang penting adalah Anda menggunakan kerangka kerja baru seperti yang seharusnya digunakan, memanfaatkan fitur-fiturnya sepenuhnya, dan tidak terikat dengan cara berpikir dari kerangka lama Anda. Jangan mencoba menggunakan Zend "cara CakePHP" *
Misalnya, ketika saya pindah menggunakan kerangka kerja MVC dari yang bukan-MVC sebelumnya, saya tidak benar-benar mengerti bagaimana model, tampilan, dan pengontrol seharusnya berfungsi, dan saya menulis beberapa kode yang tampak mengerikan karena saya tidak mengerti yang baru cara melakukan sesuatu. Anda akan lebih baik bertahan dengan kerangka kerja lama yang lebih rendah daripada memiliki aplikasi yang ditulis dengan buruk pada kerangka kerja yang lebih baik.
* Saya juga tidak kenal, jadi saya tidak tahu seberapa mirip / sebanding mereka.
sumber
Don't try to use Zend "the CakePHP way
Hal pertama yang harus dipertimbangkan adalah menulis ulang produk dari awal adalah sesuatu yang tidak boleh Anda lakukan . Ini terutama benar ketika versi saat ini sudah menghasilkan uang bagi Anda. Pada dasarnya, Anda akan menghabiskan waktu 6 bulan, hanya untuk kembali ke tempat Anda 6 bulan yang lalu. Hanya sekarang, Anda memiliki lebih banyak bug (atau setidaknya, bug yang berbeda ), memperkenalkan kembali bug yang sudah diperbaiki dalam kode lama, dan Anda enam bulan di belakang di mana Anda bisa berada, jika Anda sudah menambahkan fitur ke basis kode lama.
CakePHP, Zend dan Symphony sebagian besar sama (yaitu mereka semua kerangka kerja gaya MVC di atas PHP), jadi saya tidak yakin apa keuntungan yang Anda miliki untuk beralih dari satu ke yang lain. Memang ada perbedaan dalam set fitur, tetapi apakah mereka benar-benar layak mengatur diri Anda kembali sepanjang waktu itu? Untuk jumlah waktu yang Anda habiskan menulis ulang dari awal di Zend atau apa pun, bisakah Anda menghabiskan jumlah waktu yang sama menambahkan fitur yang diperlukan ke Cake?
Menurut pendapat saya, Anda akan lebih baik perlahan refactoring kode yang ada dari waktu ke waktu, daripada memulai sepenuhnya dari awal dengan kerangka kerja baru.
Tentu, ini hanya pendapat saya. Saya tahu itu tergoda untuk menjatuhkan kode yang ada (jelek, lama) dan mulai dari awal, tetapi untuk produk-produk mapan yang sudah bekerja, biasanya ada sedikit untuk mendapatkan dan banyak sekali kehilangan.
sumber