Joomla mı, sıfırdan mı gelişiyor? [kapalı]


9

Çok az deneyime sahip biri olarak, Joomla'nın tüm gereksinimlerinizi karşılayabileceğini düşündüren şeyi bilmek isterim. Sizi sıfırdan geliştirme (ya da Yii ya da Kohana gibi bir çerçeve kullanma) üzerine seçen

Joomla kullanırken karşılaştığınız en yaygın veya en önemli sorun nedir? Bu konuda fazla deneyimim olmadığından, en büyük problemlerden birinin esneklik olduğunu varsayacağım. Uygulamanızın davranışını ölçeklendiremez veya özelleştiremezsiniz ve yapabilseniz bile, Joomla'da bir kuralı ihlal etmeniz veya bir sonraki sürümü beklemeniz gerekir. Bu doğru mu?.

Şu anda uzun vadeli bir proje inşa ediyorum, içinde çok sayıda özel işlev ve davranış olabilir. Sıfırdan veya bazı PHP çerçevelerinin yardımıyla inşa etmek istiyorum. Ama çok fazla web sitesi gördüm (ve bazıları karmaşıklık açısından harika) Joomla kullanıyor. Bu bana doğru teknolojiyi seçme konusunda bazı şüpheler verdi.

Joomla / diğerlerini seçmek için bir veya iki nihai sebep olduğunu bilmek isterim.


13
Joomla şimdiye kadar yazılan en karmaşık kod parçalarından biridir. Bir programcı joomla sitesinde çalışmak zorunda olduğunda yavrular ölür ve tanrılar ağlar. Kullanma.
Upvote

5
Yapmak. Değil. Kullanımı. Joomla
blivet

Yanıtlar:


13

Bir web sitesi oluşturuyorsanız , Joomla ve diğerleri gibi bir CMS kullanabilirsiniz .
Ama eğer bir web uygulaması yapacaksanız , bunun sıfırdan yapılması gerektiğini düşünüyorum. O zaman bir çerçeve kullanabilirsiniz .


2
Bir web sitesi ile bir web uygulaması arasındaki farkı bilmek için, programmers.stackexchange.com/questions/64535/… adresini görebilirsiniz . Aslında ben de bunu cevapladıktan sonra soruyu kendim sordum!
Gulshan

6

Sık sık büyük üç CMS hakkında soru soruluyordu ve hiçbir cevap alamamıştım, hiçbirini hiç kullanmamıştım. Yaklaşık 1,5 yıl öncesine kadar birdenbire Joomla 1.5.x'e dalmaktan başka seçeneğim yoktu.

  • Joomla uzantısı geliştirmeyi, kaynağı okumaktan başka bir yolla öğrenmeyi unutun. Söz veriyorum, eğer bu kuraldan uzaklaşırsanız, birçok ay kaybolacak.
  • Joomla size çok yardımcı olmuyor (evet 1.7'den fazla biliyorum, burada sadece 1.5.x hakkında konuşuyorum). Joomla'dan herhangi bir RAD özelliği beklemeyin, aslında tüm HTML'yi elle, formlar, tablolar, ızgaralar, filtreler, aramalar, evet hepsini yazacaksınız.
  • Joomla 1 ilişkisel ORM türü yeteneğine sahiptir, JModel'in, boolean "canDelete" döndürmek için kayıtların hangi tabloları kontrol edeceğini söyleyebilen canDelete yöntemidir, hepsi bu, tüm ORM sorgularınızı el ile yazmak zorunda kalacaksınız.
  • Gerekli tablo şema dosyalarını oluşturmak için JxExtractor (sanırım) kullanın veya herhangi bir db şema değişikliği sonra tablo dosyalarını el ile değiştirin.
  • Joomla 1.5'in ACL'leri bir yalan, bu kaynak kodunu okuyun ve anlayacaksınız. Onlara ihtiyacım olduğunda orada olacaklarını varsayarak yaklaşık bir ay harcadım.
  • VirtueMart. Ah oğlum. Çabuk, ördek! Whew. Yakın çağrı.
  • JInstaller'in hayattaki amacı başarısızlıktır ve parayı geçmek, başarısızlığa neyin neden olduğu ile ilgisiz şeyler hakkında şikayet eder veya en azından yaşadığım herhangi bir kız arkadaşı gibi şifreli olarak şikayet eder. ASLA güvenilmemelidir, yalan söyler, herhangi bir inanç ödünç verirseniz aptalsınız!
  • Konvansiyon üzerinde konfigürasyon veya sadece genel tutarsızlık. GetVar(), get(), getValue(), getConfig(), getCfg(), getParam(). Herhangi bir şeyi tahmin etmeyi unutun, her zaman, her şey kaynağa / api'ye bakmayı gerektirir.
  • Joomla için inşa etmenin en az 4 "yolu" vardır ve ortak hiçbir şeyleri yoktur, sadece acıyı kurtarın ve com_weblinksbileşeni kopyalayın .
  • Joomla çok seyrek bir kod tabanı. Bir yandan bu konuda hoşuma gitti, kaynağı kısa ve işlevsel (beceriksiz olsa da). Bir çerçeveden geliyorsanız, çerçevelerin sunduğu gibi bir şey beklemek gibi bir hata yapmayın, yaklaşık 8 yıl içinde geri gittiğiniz gibi davranın, çünkü öylesiniz.
  • Kod üreteçleri. Bir zorunluluk, uzantı dizindeki Jacc oldukça güzel.
  • Web'den fazla yardım beklemeyin, belki de geri zekalıyım ama Joomla için yararlı bir öğretici / rehber / referans bulmanın sadece başka bir zaman kaybı olduğu, çevrimiçi kaynakların o kadar çok olduğu anlaşılıyor, kaynak kod arkadaşını okuyun.
  • Joomla, kod tabanının çok açık olması nedeniyle, ne yazık ki sonunda mantıklı olan geliştiriciler için belgelerle ilgilenmiyor.

Sonuçta, daha yüksek sipariş araçlarına aşina iseniz Joomla CMS'yi kullanmayın ya da intihar edebilir ve benim yaptığım gibi Google haritalarına sabitlenmiş atlamak için yeterince yüksek 10 yere sahip olabilirsiniz.

Ps Joomla 1.6 (1.7) bu kısa gelenlerin çoğunda gelişir, ancak önemli değil çünkü istemci web mağazalarının (VM) 1.7'ye taşınması, ne kadar yalvarsam da, bir rüya gibi.


4

Joomla hakkındaki düşüncelerim:

  • Daha az teknik bilgi / deneyime sahip insanlar için bir nokta ve CMS tıklayın.
  • Bir nokta ve tıklama türü ürün olarak, bu işlevselliği elde etmek için daha fazla yük gerektirir (önbellek etkinken bile yavaş olduğunu düşünüyorum).
  • Oldukça büyük olduğundan, üzerinde değişiklik yapmak, değişiklikler veya eklemeler yapmak gerektiğinden daha fazla zaman alır.
  • Beni yanlış anlamayın Joomla için bazı harika eklentiler / modüller var, ancak düzgün çalışmayan veya çok fazla şey yarıya kadar yapmaya çalışmayan bir ton var.
  • Sürekli yama ihtiyacı vardır. Bir keresinde bir Pazartesi günü bir saldırı keşfedildiğini hatırlıyorum, ertesi gün bir yama çıktı ve Çarşamba günü müşteri sitelerimizden biri saldırıya uğradı. Eğer haftada bir kez yamalar (gerekirse) yaptık ve her hafta perşembe günleri yapıldıysa müşteri ile bir yükseltme / yama politikası olsa bile, bu durumda çok geç olurdu. Ayrıca yama sayısı # müşteri sayısı çok zaman alabilir.
  • Yazabilen herkes echo 'hello world';bu günlerde bir php programcısı çağırıyor. Joomla, teknik olmayan kişilerin az çaba harcayarak iyi görünümlü web siteleri yapmasının bir yoludur (seç ve tıkla, hatırla).

Uzun vadeli bir proje için tavsiye ederim:

  • Size temel işlevleri ( CodeIgniter gibi ) vermek için bir çerçeve kullanma
  • Erken çok fazla şişkinlik, yolda aşağı pare zor olduğu için kod tabanı yalın tutun.
  • Bir çerçeve kullanmak aynı zamanda yön değiştirmeyi veya ayarlamaları daha hızlı hale getirmeyi kolaylaştırır (Joomla için zaten istediğinizi yapmayan bir eklenti yoksa, onu oluşturmanız gerekir)
  • Çerçevenin temellerini öğrendikten sonra kodunuzu içeride ve dışarıda bilirsiniz. Ekleme, değişiklik yapma, değişiklikler yapmak çok daha basittir ve daha az zaman alır.
  • Joomla'dan kaçının. Özellikle uzun süredir devam eden projeler için çok zaman yediğini gördüm.

Sadece iki sentim. Umarım yardımcı olur.


0

AFAIK Joomla bir CMS'dir . Temel olarak Drupal ve Wordpress gibi diğer CMS'lerle rekabet ediyor. Yii ve Kohana, Zend, kod ateşleyici gibi seçeneklerin olduğu çerçevelerdir . Anladığım kadarıyla, bir CMS, web içeriğini oluşturmak için API ve uzantı seti ile bir uygulama iken, bir çerçeve, bir web uygulaması oluşturmak için ihtiyacımız olan ince ayarlanabilen bir kod tabanıdır. Böylece, çerçeveli bir CMS oluşturabilirsiniz. Uygulama geliştirme için bir CMS yerine bir çerçeve seçmenizi tavsiye ederim. Çerçeveler yaklaşımının MVC gibi metodolojiye dalmanıza ve veritabanı ve şablonlarla ilgili seçenekler sunmanıza izin verdiğine inanıyorum.

PS: Bu sadece benim anlayışım. Drupal ve Joomla'nın çok genişletilebilir ve tweakable olduğunu duydum ama kullanmadım. Birkaç ay önce, Yii'ye bakmıştım ve çok iyi belgelenmiş ve öğrenmesi kolay bir çerçeve gibi görünüyor.


0

Neden Joomla? Bir CMS. Projenizin ihtiyaçlarını, büyük CMS'lerden birinden temin edilebilen modüller vb. Bir sonraki soru - gerekirse kodu değiştirmek için kodu değiştirebilir misiniz? CMS sistemleri, etrafa bakın ve diğerlerinin Joomla ile rekabet ettiğini görün.


0

Çeşitli çerçevelerin nasıl çalıştığını daha iyi anlamak istiyorsanız, kendi çerçevenizi geliştirmeye yardımcı olabilir. Bununla birlikte, bir tekerlek üretmenin sadece çok fazla yolu var, o zaman zaten yapılmış olanı ne kadar kötü yeniden keşfetmek istiyorsunuz?

Ben şahsen kendimi geliştirdim çünkü Wordpress veya Drupal gibi ekstra fonksiyonlara ihtiyacım yoktu. Olduğu söyleniyor, benim "CMS" bunu kullanarak beni geçmişte çok ölçeklendirmez, bu yüzden başka insanların katkıda bulunmasını istiyorsam başım belada.

Benim kişisel fikrim CakePHP, CodeIgnitor, Modx ve diğerleri gibi bir çerçeve kullanmak, kendi CMS geliştirmek ve sonra belki de Joomla gibi bir şeye göç yolda, o zamana kadar muhtemelen ...

HTH.


0

Son 4 yıldan beri joomla kullanıyorum. Farklı web siteleri geliştirmek için çerçeve olarak kullandım. Joomla'yı kullanmak için yanlış bir şey yok. Özel uzantılar için bir sanal alan oluşturmak için uzantılara sahiptir ve çok zaman azaltır. Ücretsiz olarak sayısız uzatma mevcuttur. Ve çok kısa sürede kendinizinkini oluşturabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.