Sebagai pengembang web PHP tingkat menengah hingga mahir dan yang masih muda (15 tahun), haruskah saya membuat CMS yang sama sekali baru untuk situs web saya atau mengandalkan perangkat lunak yang dibuat sebelumnya seperti WordPress atau Drupal?
Saya tidak benar-benar merasa bahwa WordPress cukup kuat / dapat diukur untuk dapat menangani apa yang saya coba lakukan dan setelah bermain-main dengan Drupal selama beberapa hari terakhir, sepertinya tidak sesuai dengan keinginan saya. dan juga tidak didokumentasikan dengan baik sehingga saya mengalami sedikit kesulitan untuk melakukan tugas-tugas sederhana tertentu. Saya akan senang untuk penggunaan sesuatu seperti ExpressionEngine, tapi saya tidak punya uang untuk hidangan keluar untuk lisensi komersial yang saat ini sekitar $ 300, jadi itu no-go.
Saya awalnya mulai mengkodekan situs saya sebagai sistem sementara sehingga pengguna saya dapat membeli peningkatan dan hal-hal lain seperti mata uang dalam game sampai saya bisa membuat situs web baru, tetapi setelah saya mulai, saya dengan cepat menyadari bahwa saya perlu membuatnya dapat diskalakan , jadi sejak saat itu saya membuat kode dengan pikiran menjadikannya situs web yang berfungsi penuh dalam pikiran. Hanya butuh beberapa hari tetapi semua dasar-dasarnya ada (mendaftar, masuk, modifikasi akun, dll) dan saya percaya ini akan menjadi awal yang baik untuk CMS pribadi.
Hal terakhir yang ingin saya tambahkan adalah jika saya membangun CMS saya sendiri, haruskah saya menggunakan kerangka kerja PHP seperti CodeIgniter, yang saya punya sedikit pengalaman?
Mungkin pengembang lain bisa memberi tahu saya tentang apa yang mungkin saya lakukan.
Jawaban:
Ini sepenuhnya tergantung pada situasi Anda. Situs-situs hebat telah dibuat dengan CMS di luar sana. Saya pikir lebih baik kita memahami dua konsep, CO, dan TCO.
CO (Biaya kepemilikan)
Ketika Anda membeli sesuatu, jumlah yang Anda bayar untuk itu adalah CO. Dalam kasus WordPress, tidak ada apa-apa, karena WordPress (atau banyak perangkat lunak CMS lainnya) tidak dikenai biaya.
TCO (Total Biaya Kepemilikan)
Bayangkan Anda membeli PC seharga 10.000 dolar. Lalu apa? Anda harus menghabiskan waktu untuk menginstal perangkat lunak di atasnya (waktu adalah sumber daya yang berharga, jadi Anda masih menghabiskan uang untuk PC itu), maka Anda dapat membeli webcam, penulis DVD lain dan beberapa kabel tambahan. Maka Anda perlu belajar cara menggunakan perangkat lunak yang diinstal. Dengan kata lain, Total Biaya Memiliki PC bukan $ 10.000. Jauh lebih dari itu.
Dalam hal perangkat lunak CMS, CO mereka benar-benar tidak ada yang sangat rendah. Tetapi banyak pengalaman menunjukkan bahwa TCO mereka tidak rendah sama sekali. Perusahaan besar menghabiskan hampir ribuan dolar untuk mendapatkan situs yang bagus di Joomla, atau WordPress.
Faktor lain adalah tingkat penyesuaian . Kadang-kadang Anda ingin menggunakan perangkat lunak seperti tanpa perubahan apapun. Dalam hal ini, WordPress, Joomla, Drupal atau CMS lainnya bisa menjadi kandidat yang sangat baik, dan Anda tidak boleh menulis CMS Anda sendiri. Tetapi ada saatnya Anda membutuhkan penyesuaian tingkat tinggi. Dalam hal ini, Anda benar-benar frustrasi untuk menyesuaikan CMS yang siap digunakan sesuai dengan kebutuhan Anda.
Saya sebenarnya ingin menggunakan perangkat lunak CMS yang siap, tetapi setelah menghabiskan waktu yang berharga untuk mempelajari berbagai CMS dan menemukan kelemahan masing-masing, saya akhirnya membuat CMS saya sendiri. Hasil Pemikiran adalah situs pribadi saya dan dibangun melalui CMS ini. Saya akan segera menerbitkannya, sehingga orang lain juga dapat menggunakannya.
Masih faktor lain adalah diperpanjang . Percayalah, itu membuat Anda tua untuk mengambil CMS dari keadaan statis ke keadaan diperpanjang. Template, modul, plugin, penyedia, basis data dan penyimpanan, mekanisme perutean, dan hampir semua bagian dalam CMS yang Baik harus diperluas.
Akhirnya, saran pribadi saya adalah mulai membangun CMS, sehingga setidaknya Anda mempelajari beberapa konsep paling mendasar di baliknya. Tetapi juga coba gunakan yang sudah ada. Semoga berhasil.
sumber
Saya bermain sebagai pendukung setan di sini, namun perlu dikatakan. Beberapa masalah paling umum dengan pengembang perangkat lunak:
Apakah Anda yakin tidak melakukan kesalahan ini, karena bahkan untuk 15y0, $ 300 bisa didapat dalam beberapa minggu, dan apa yang Anda usulkan bisa memakan waktu berbulan-bulan. Pikirkan apa yang akan terjadi jika Anda mendapatkan pekerjaan yang membayar dan membeli ExpressionEngine dengan uangnya. Apakah akan dikirim lebih cepat, dengan fitur yang lebih baik daripada pekerjaan DIY?
sumber
Ada dua jawaban untuk ini.
Satu sederhana: Jangan- jangan menemukan kembali roda. Ada banyak sistem CMS yang sangat baik dan jika Anda belajar menggunakannya dengan baik maka jika ada hal-hal yang Anda butuhkan yang tidak ditawarkan, Anda dapat lebih memfokuskan keterampilan Anda untuk membuat plug-in untuk tujuan itu daripada menciptakan kembali roda.
Yang kedua agak kurang jelas: Ya. Jika Anda ingin memahami cara kerja CMS dan masalah yang dihadapi dalam pembuatan CMS, tidak ada salahnya membangun sendiri. Mungkin tidak akan pernah memiliki kekuatan dan fleksibilitas dari salah satu sistem CMS yang ada dan karena ada sekitar 10.000.000.000 sistem manajemen konten PHP di sekitar tempat itu, ada sangat sedikit kemungkinan orang lain akan tertarik dengan hal itu, tetapi juga tidak akan memiliki hal-hal yang tidak Anda butuhkan dan mungkin akan bekerja jauh lebih kecil dan lebih sederhana daripada sistem yang lebih besar. Ini akan membutuhkan banyak waktu, hasilnya tidak akan sebaik dan tidak akan membuat perbedaan di seluruh dunia, tetapi dalam hal perkembangan dan pembelajaran Anda, ini bisa menjadi latihan yang bermanfaat.
Bagaimanapun, sebelum Anda memulai membangun Anda sendiri, saya akan mencoba sistem arus utama yang tersedia hanya untuk mendapatkan ide tentang bagaimana mereka bekerja, apa yang mereka lakukan dengan baik dan apa yang Anda rasa mereka bisa lakukan lebih baik. Memiliki pemahaman yang baik tentang hal-hal itu dapat menginformasikan keputusan Anda tentang apakah ada atau tidak ada manfaat dalam membuat keputusan Anda sendiri atau tidak.
sumber
Jika Anda belum pernah mencoba pemrograman CMS, maka ini mungkin kesempatan yang sangat baik untuk melakukannya. Anda akan belajar banyak, dan terlepas dari apakah Anda menyelesaikannya, Anda akan memiliki ide yang sangat baik misalnya:
Beberapa di antaranya bahkan mungkin Anda telah pelajari bagaimana tidak melakukannya. Pengalaman itu juga penting.
Secara pribadi saya telah mencapai tahap di mana saya telah belajar bahwa "betapa sulitnya itu" hanya mencakup beberapa persen dari pekerjaan yang sebenarnya perlu dilakukan untuk menciptakan produk yang berkualitas tinggi, dan jika saya harus memilih CMS saya akan mencari yang populer dengan basis kode yang dapat diakses dapat diakses dan dokumentasi yang baik, dan arsitektur plugin yang baik memungkinkan saya untuk hanya menulis plugin yang sesuai, dan kemudian memperbarui CMS dasar ketika versi baru keluar.
sumber
Ini hanya sedikit jawaban untuk pertanyaan Anda. Saya berasumsi Anda menggunakan php dan Anda tidak akan menggunakan cara CMS yang sudah dibuat sebelumnya. Selamat Datang di klub! Banyak dari kita yang mengalami hal yang sama. Beberapa saran yang mungkin meringankan beban Anda.
Saya mulai membangun CMS, implementasi MVC, handler internasionalisasi (i18n) saya sendiri, pengendali sesi, beberapa cara lapisan abstraksi basis data, beberapa cara penangan formulir, dll. Dan kemudian saya menemukan bahwa apa yang saya lakukan sebenarnya dilakukan sebelumnya, tetapi dengan cara yang lebih baik oleh kerangka kerja. Jadi, ini berarti Anda tidak harus menemukan kembali roda sepenuhnya, tetapi hanya di tempat yang sesuai dengan kebutuhan Anda. Kerangka kerja membuat hidup Anda lebih mudah, tetapi membutuhkan banyak upaya untuk membaca, dan belajar. Butuh satu tahun bagi saya untuk benar-benar menguasai Symfony, dan saya tidak menyesalinya.
Dan Anda beruntung, karena saat ini ada banyak kerangka kerja yang lebih berkualitas daripada sebelumnya. Untuk beberapa nama:
CakePHP : Sudah menggunakannya sejak dulu, dan tidak bisa membaca dokumentasi. Rupanya sekarang ini lebih baik dan mungkin patut Anda pertimbangkan.
Yii : Belum pernah menggunakannya, tapi akhir-akhir ini ada banyak masalah, mungkin patut Anda perhatikan.
CodeIgniter : Mendengar banyak orang memuji codeigniter karena kurva belajar yang mudah dan kemudahan penggunaan. Belum pernah menggunakannya.
Jika Anda ingin mencoba python, banyak orang juga memuji Django, dan tentu saja ruby pada rel.
Mungkin ada lebih banyak, tetapi ini harus bermanfaat bagi Anda. Jika Anda tidak ingin menggunakannya, Anda masih bisa belajar banyak dari kerangka kerja ini. Semoga berhasil!
sumber
Jawabannya sangat tergantung pada apa yang ingin Anda capai.
Jika Anda bermaksud untuk mengembangkan keterampilan Anda, pelajari tentang manajemen konten, dll. Maka ya, tentu saja kembangkan keahlian Anda sendiri. Demikian pula jika Anda ingin mempelajari suatu kerangka kerja gunakanlah.
Namun jika fokus Anda adalah permainan yang Anda sebutkan dan pemainnya maka jawabannya hampir pasti tidak. Waktu Anda terbatas, dan karenanya sumber daya mahal. Waktu yang dihabiskan untuk mengembangkan CMS adalah waktu yang tidak dihabiskan untuk mengembangkan game, dan itu adalah game yang menghasilkan pendapatan. Jadi tanyakan pada diri sendiri pertanyaannya. Apakah waktu yang dihabiskan untuk mengembangkan CMS ini daripada membeli satu akan meningkatkan pengalaman gim pemain saya lebih dari waktu yang dihabiskan untuk mengembangkan gim ini? Jika jawabannya ya, kembangkan, kalau tidak jangan.
Demikian pula keputusan CMS open source atas ExpressionEngine harus menurunkan ToC seperti kata Saeed. Sederhananya jika Biaya (Wordpress)> Biaya (ExpressionEngine) kemudian menghabiskan $ 300. Di sini biayanya purchase_cost + (hours_to_customise * your_hourly_rate).
sumber
Temukan CMS yang sesuai dengan 90% kebutuhan Anda dan modifikasi dari waktu ke waktu untuk menambah fungsionalitas yang tidak disediakannya.
Ini akan memungkinkan Anda untuk memulai lebih awal dan beradaptasi ketika kebutuhan Anda dan pengguna Anda berubah.
sumber
Saya sepenuhnya mendorong Anda untuk membangun CMS Anda sendiri. Sejauh ini, ini adalah cara terbaik untuk mengetahui seluk beluk sistem semacam itu berkaitan dengan penyesuaian dan keamanan. Tapi saya harus mempertanyakan seberapa menengah hingga mahir Anda dengan keterampilan PHP Anda. Ini bukan tentang usia Anda, percayalah.
Bendera untuk saya adalah "Saya tidak benar-benar merasa bahwa WordPress cukup kuat / scalable untuk dapat menangani apa yang saya coba lakukan dan setelah bermain-main dengan Drupal selama beberapa hari terakhir ini sepertinya tidak terlihat. sesuai dengan keinginan saya dan juga tidak didokumentasikan dengan baik jadi saya mengalami sedikit kesulitan untuk melakukan tugas-tugas sederhana tertentu. "
Banyaknya buku dan situs tentang penyesuaian Worpress dan Drupal, belum lagi situs profil tinggi yang menjalankannya, membuktikan Anda harus tahu apa yang Anda lakukan, dapatkan situs seperti ini. Belum lagi, seluruh anggaran disisihkan untuk menjalankan situs-situs ini.
Tautan misalnya:
http://drupal.org/cases
http://wpmu.org/wordpress-showcase-20-high-profile-sites-running-on-wordpress
Ini bukan untuk mengecilkan hati Anda dalam apa yang Anda coba lakukan, dengan segala cara. Saya hanya ingin memastikan bahwa Anda tidak menggunakan terlalu banyak waktu Anda (menciptakan kembali roda) dan menjadi frustrasi pada titik tertentu dan hanya mengatakan "eff it", ketika Anda dapat mengembangkan bakat Anda dan menunjukkan kepada orang-orang, majikan termasuk , apa yang Anda miliki dengan alat yang tersedia saat ini. Di dunia nyata dan ekonomi saat ini, waktu adalah uang, dan bisnis dan organisasi tidak punya waktu dan / atau anggaran untuk terus berurusan dengan membuat proyek dari awal.
Informasi hari ini bergerak dengan kecepatan cahaya, itulah sebabnya programmer yang dapat memisahkan kebisingan dan membuat konten / aplikasi / sistem yang bertujuan dalam waktu penyelesaian yang tepat sangat diminati.
sumber
Hanya Anda yang dapat menjawab apakah Wordpress atau Drupal dapat melakukan apa yang perlu dilakukan CMS, tetapi jika Anda ingin mencobanya, mengapa tidak menggunakan mesin virtual dari Turnkey Linux , seperti yang untuk Wordpress , Drupal , Joomla atau yang lain yang lain dengan tag manajemen konten .
Dengan asumsi Anda sudah menginstal VMware player atau VirtualBox , dalam beberapa menit mengunduh salah satu dari peralatan ini, Anda dapat mencoba sendiri perangkat lunaknya, dengan investasi waktu yang minimal.
sumber