it-swarm-id.com

Apa perbedaan utama antara Wordpress dan arsitektur perangkat lunak Joomla!) Dan bagaimana fungsi inti mereka diperluas?

* CATATAN: Ini adalah bukan pertanyaan 'yang lebih baik'! *

Wordpress dan Joomla! keduanya adalah open source CMS yang mengagumkan.

Apa perbedaan utama

1) dalam arsitektur perangkat lunak antara Joomla! dan Wordpress?

2) dengan cara bagaimana ekstensi ke fungsionalitas inti (out-of-the-box) dibuat? dan

3) Bagaimana inti dan ekstensi ditingkatkan dan diperbarui?

13
NivF007

Baik Wordpress dan Joomla! Sangat dihargai dan masing-masing memiliki keunggulan unik ketika Anda membandingkannya.

Untuk menjawab pertanyaan Anda:

dalam arsitektur perangkat lunak antara Joomla! dan Wordpress

  • Joomla adalah [~ # ~] oop [~ # ~] (berorientasi objek) dan [~ # ~] mvc [~ # ~] (an pola desain berorientasi objek).

  • Wordpress ditulis dalam kode prosedural.

Pemrograman prosedural menentukan langkah program harus ambil untuk mencapai keadaan yang diinginkan, sedangkan pemrograman berorientasi objek ("OOP") mengatur program menjadi objek atau struktur data dan metode bersama dengan interaksinya.

Untuk program sederhana, kode prosedural (pikirkan urutan perintah per baris) bekerja dengan baik, tetapi untuk aplikasi kompleks yang besar, kode prosedural bisa lebih sulit untuk dipelihara - seringkali menghasilkan apa yang disebut kode spaghetti (yaitu ketika urutan baris-demi-baris dari perintah mulai menggunakan banyak GOTO, pengecualian, utas atau konstruksi percabangan lainnya dan itu mengalir secara konseptual seperti semangkuk spageti). Dengan kata lain, kode prosedural dimulai dari yang sederhana, tetapi dapat menjadi rumit dan kusut.

Oleh karena itu aplikasi yang lebih kompleks dapat lebih terstruktur dengan OOP dan dengan MVC - gaya pemrograman yang lebih maju yang jauh lebih cocok untuk membangun program yang sangat kompleks dengan banyak bagian yang bergerak.

Sedangkan kode prosedural pada awalnya mungkin lebih mudah untuk ditulis dan dipelihara untuk program-program sederhana, OOP memiliki kelebihan karena dapat dengan rapi mengumpulkan kumpulan variabel (disebut 'properti' dalam OOP) berfungsi (disebut 'metode' 'in OOP) menjadi bundel - menghasilkan kode yang lebih rapi, lebih mudah dibaca, dipelihara, dan diperluas.

Untuk sebagian besar Wordpress aplikasi (mis. Blog sederhana), kode prosedural berfungsi dengan baik.

Untuk aplikasi yang lebih kompleks (mis. Yang membutuhkan izin grup pengguna dan yang menggunakan banyak integrasi banyak ekstensi untuk memperluas fitur dan fungsi), OOP umumnya dianggap pendekatan yang jauh lebih elegan.

Untuk menyimpulkan:

Arsitektur perangkat lunak Worpress (berdasarkan kode prosedural) memiliki kelebihan dalam kesederhanaannya, tetapi kode prosedural tidak ideal untuk aplikasi kompleks yang dapat dikembangkan dengan ekstensibilitas yang kuat.

Arsitektur perangkat lunak Joomla! (OOP/MVC) mungkin tampak lebih kompleks, tetapi ketika direkayasa dengan baik, OOP/MVC sebenarnya membuatnya lebih mudah untuk memperluas fitur dan fungsi aplikasi dan untuk memiliki semua ekstensi itu bekerja bersama secara harmonis.

Jika Anda ingin memahami perbedaan (pada tingkat pemula dasar), baca PHP Prosedural vs PHP OO vs PHP MVC oleh Peham Raza - dia membahas 'seluk beluk' masing-masing dengan cara yang memudahkan untuk lebih memahami manfaatnya.

dengan cara mana ekstensi ke fungsionalitas inti (out-of-the-box) dibuat?

  • Joomla menambahkan fitur dengan Module, Component, Plugins
  • WorPress menggunakan plugin untuk memperluas fitur.
  • Joomla sangat ketat dalam pembuatan modul, plugin atau komponennya (Anda tidak bisa hanya mengunggah file melalui FTP dan hanya mengaktifkannya, Anda harus melakukannya dengan installer Extension).

Bagaimana inti dan ekstensi ditingkatkan dan diperbarui

  • Keduanya menggunakan teknik yang hampir sama untuk pembaruan atau pembaruan (Mereka menyediakan pengembang untuk membuat fitur baru dengan ekstensi atau perubahan templat dengan menimpa Jadi pada dasarnya tidak ada file inti yang perlu kita edit pada situasi ini sehingga pemutakhiran akan meningkatkan tambalan keamanan mereka dan banyak lagi.)

Ada pepatah Wordpress bukan CMS, tapi sekarang ini adalah CMS dengan semua fitur Joomla dan banyak lagi.

WordPress bagus untuk pengguna yang memiliki sedikit pengetahuan pengembangan, dan Joomla untuk pengembang.

Semoga ini masuk akal.

18
Jobin Jose

Saya pikir untuk benar-benar menjawab pertanyaan ini, Anda harus terbiasa dengan kedua WP dan Joomla !. Saya Joomla! Berat dan hanya menggunakan WP beberapa kali, jadi jawaban saya mungkin tidak penuh seperti yang Anda harapkan.

WP adalah platform blogging pertama dan terutama. Ini diatur untuk umpan data. Anda harus keluar dari cara Anda untuk melewati umpan default untuk mendapatkan halaman Beranda statis biasa. Ini tidak sulit, hanya saja tidak default. Jika Anda tahu apa yang Anda lakukan, Anda dapat memperluas WP untuk bergerak melampaui platform blogging, atau jika Anda mengunduh templat yang sudah melakukannya untuk Anda.

Joomla adalah CMS pertama dan terpenting. Itu dibangun untuk menampung situs web yang lengkap, termasuk blogging, langsung dari inti dasarnya. Bantuan plugin, mereka bisa memberi Anda pengalaman yang lebih khusus bagi mereka yang tidak tahu cara membuat komponen dan plugin mereka sendiri. Lagi pula, mengapa menciptakan kembali kemudi?

Dalam pengalaman saya, WP sangat bagus untuk orang-orang yang bukan pengembang, atau yang cukup tahu. Joomla di sisi lain dibangun untuk pengembang, untuk orang-orang yang ingin membuat front yang sepenuhnya dikustomisasi -akhir dan pengalaman back-end. Saya menghabiskan berjam-jam bekerja di templat WP untuk memaksanya melakukan apa yang saya inginkan, yang membuat frustrasi ketika saya terbiasa membangun sesuatu seperti yang saya inginkan mereka pertama kali dengan Joomla (kami tidak menggunakan templat - kami memiliki inti Joomla kami sendiri yang dilucuti hingga ke dasar-dasarnya dan kami membangun dari bawah ke atas).

Jika Anda menarik FTP WP dan Joomla berdampingan, Anda dapat melihat betapa berbedanya mereka.

WP memiliki area plugin ini tempat Anda dapat mencari plugin, memilih dan menginstal. Saya yakin Anda juga dapat memperbarui dari tempat yang sama. Ketika Anda berada di area plugin, itu akan sering memberi tahu Anda bahwa pembaruan tersedia.

Joomla menggunakan Extension Manager di mana Anda dapat mengunggah plugin atau komponen yang diunduh - Saya pikir mungkin ada fungsi pencarian, tapi jujur ​​saya tidak pernah menggunakannya karena saya biasanya menggunakan JED untuk menemukan apa yang saya butuhkan. Area yang sama ini juga menawarkan Anda tombol pembaruan di mana Anda dapat melihat semua pembaruan yang tersedia untuk apa yang telah Anda instal. Sekali lagi, beberapa komponen akan memberi tahu Anda bahwa mereka memiliki pembaruan yang tersedia, tetapi tidak semuanya.

Perbedaan utama yang saya lihat adalah WP dibuat untuk pengguna - mereka memasang templat, mereka dapat memperbarui, mereka dapat menambahkan, Joomla dibuat untuk pengembang, kami melakukan instalasi, kami melakukan pembaruan, kami membangun/menambahkan fitur dan fungsi baru. Itu bukan untuk mengatakan itu tidak ramah pengguna, tetapi ada area yang saya pikir didorong keluar dari cara pengguna karena mereka dibangun untuk pengembang.

6
Faye

Ketika Anda berbicara tentang arsitektur, tidak masalah ketika Anda membangun portal atau situs web yang kompleks, yaitu banyak entitas yang saling terhubung.

  1. Kode sumber Joomla berorientasi objek.
  2. Kode Joomla terbagi dengan sangat baik, yaitu aplikasi, plugin, komponen.
  3. Sebagian besar pola desain diikuti di Joomla, mis. Pabrik, Dekorator, Injeksi Ketergantungan, dll.

Sebagai pengembang C dan C++ ketika saya mengadopsi joomla, saya menyukainya karena menggunakan set standar yang sama daripada fungsinya merusak namespace global.

2
Shyam