Joomla หรือการพัฒนาตั้งแต่เริ่มต้น? [ปิด]


9

ในฐานะคนที่มีประสบการณ์น้อยมากฉันอยากจะรู้ว่าอะไรทำให้คุณคิดว่า Joomla สามารถตอบสนองทุกความต้องการได้ สิ่งที่ทำให้คุณเลือกมากกว่าการพัฒนาตั้งแต่เริ่มต้น (หรือใช้กรอบเช่น Yii หรือ Kohana)

อะไรคือปัญหาที่พบบ่อยที่สุดหรือสำคัญที่สุดที่คุณต้องเผชิญเมื่อใช้ Joomla? เนื่องจากฉันไม่มีประสบการณ์มากพอฉันจะกดดันว่าหนึ่งในปัญหาที่ใหญ่ที่สุดคือความยืดหยุ่น คุณไม่สามารถปรับขนาดหรือปรับแต่งพฤติกรรมของแอปของคุณและแม้ว่าคุณจะทำได้ แต่คุณต้องฝ่าฝืนกฎบางอย่างใน Joomla หรือรอรุ่นถัดไป เรื่องนี้จริงหรือ

ขณะนี้ฉันกำลังสร้างโครงการระยะยาวอาจมีฟังก์ชั่นและพฤติกรรมที่เฉพาะเจาะจงมากมาย ฉันต้องการสร้างจากศูนย์หรือด้วยความช่วยเหลือจากกรอบงาน PHP บางส่วน แต่ฉันเคยเห็นเว็บไซต์มากมาย (และบางเว็บไซต์ก็ยอดเยี่ยมในแง่ของความซับซ้อน) กำลังใช้ Joomla เรื่องนี้ทำให้ฉันสงสัยเกี่ยวกับการเลือกเทคโนโลยีที่เหมาะสม

ฉันอยากรู้ว่ามีเหตุผลใดข้อหนึ่งหรือสองข้อในการเลือก Joomla / อื่น ๆ


13
Joomla เป็นหนึ่งในโค้ดที่ยุ่งที่สุดที่เคยเขียน ลูกแมวตายและเทพเจ้าร้องไห้เมื่อโปรแกรมเมอร์ต้องทำงานในเว็บไซต์ joomla อย่าใช้มัน
คลิกโหวต

5
ทำ. ไม่. ใช้. Joomla
blivet

คำตอบ:


13

หากคุณกำลังสร้างเว็บไซต์คุณสามารถใช้CMSเช่น Joomla และอื่น ๆ
แต่ถ้าคุณจะสร้างแอปพลิเคชันเว็บฉันคิดว่ามันควรจะสร้างขึ้นใหม่ ในเวลานั้นคุณอาจใช้เฟรมเวิร์


2
หากต้องการทราบความแตกต่างระหว่างเว็บไซต์และโปรแกรมเว็บคุณอาจ see- programmers.stackexchange.com/questions/64535/... จริงๆแล้วฉันถามตัวเองหลังจากตอบคำถามนี้แล้ว!
Gulshan

6

ฉันถูกถามบ่อยเกี่ยวกับ CMS สามตัวที่มีขนาดใหญ่และรู้สึกไม่ดีที่ไม่มีคำตอบใด ๆ เลยไม่เคยใช้มันเลย จนกระทั่งเมื่อประมาณ 1.5 ปีที่แล้วเมื่อฉันไม่มีทางเลือกนอกจากได้ดำดิ่งสู่ Joomla 1.5.x

  • ลืมการเรียนรู้การพัฒนาส่วนขยายของ Joomla ด้วยวิธีอื่นนอกเหนือจากการอ่านต้นฉบับ ฉันสัญญาว่าถ้าคุณหลงทางจากกฎนั้นแล้วดวงจันทร์จำนวนมากจะหายไป
  • Joomla ไม่ได้ช่วยอะไรคุณมาก (ใช่ฉันรู้แล้วว่า 1.7+ พูดถึงแค่ 1.5.x เท่านั้น) อย่าคาดหวังว่าคุณสมบัติ RAD ใด ๆ จาก Joomla! อันที่จริงแล้วคุณจะเขียน HTML ทั้งหมดด้วยมือฟอร์มตารางกริดตัวกรองการค้นหาใช่ทั้งหมด
  • Joomla มีความสามารถ ORM ประเภท 1 เชิงสัมพันธ์, วิธี canDelete ของ JModel ซึ่งสามารถบอกได้อย่างชัดเจนว่าตารางใดในการตรวจสอบระเบียนเพื่อส่งคืนบูลีน "canDelete" นั่นคือทั้งหมดที่คุณจะต้องเขียนแบบสอบถาม ORM ทั้งหมดด้วยมือ
  • ใช้ JxExtractor (ฉันคิดว่า) เพื่อสร้างไฟล์ schema ของตารางที่ต้องการหรือแก้ไขไฟล์ตารางด้วยตนเองหลังจากการเปลี่ยนแปลง db schema ใด ๆ
  • ACL ของ Joomla 1.5 นั้นเป็นเรื่องโกหกอ่านซอร์สโค้ดนั้นแล้วคุณจะได้รับ เสียเวลาเพียงประมาณหนึ่งเดือนโดยสมมติว่าพวกเขาจะอยู่ที่นั่นเมื่อฉันต้องการพวกเขา
  • VirtueMart อืมเด็กน้อยอืม เร็วเป็ด! ต๊าย ปิดการโทร
  • วัตถุประสงค์ของ JInstaller ในชีวิตคือความล้มเหลวและผ่านเจ้าชู้มันบ่นเกี่ยวกับสิ่งต่าง ๆ ที่ไม่เกี่ยวข้องกับสิ่งที่ทำให้เกิดความล้มเหลวหรืออย่างน้อยก็บ่นในแง่ที่เป็นความลับเหมือนแฟนสาวที่ฉันเคยมี มันไม่เคยจะเชื่อถือได้มันโกหกคุณเป็นคนโง่ถ้าคุณให้ความเชื่อถือใด ๆ !
  • การกำหนดค่าผ่านการประชุมหรือเพียงแค่ความไม่สอดคล้องกันโดยทั่วไปตลอด GetVar(), get(), getValue(), getConfig(), ,getCfg() getParam()ลืมเกี่ยวกับการคาดเดาสิ่งที่เคยทุกอย่างต้องดูที่แหล่งที่มา / API
  • มีอย่างน้อย 4 "วิธี" ในการสร้างสำหรับ Joomla และพวกเขาไม่มีอะไรเหมือนกันช่วยให้คุณเจ็บปวดด้วยการคัดลอกcom_weblinksส่วนประกอบ
  • Joomla เป็น codebase ที่กระจัดกระจายมาก ในมือข้างหนึ่งฉันชอบสิ่งนี้เกี่ยวกับมันมันเป็นแหล่งที่สั้นและใช้งานได้ (แม้ว่าจะไม่เหมาะสม) หากคุณมาจากกรอบการทำงานอย่าทำผิดพลาดในการคาดหวังอะไรเช่นกรอบที่เสนอให้ทำท่าว่าคุณจะย้อนเวลากลับไปประมาณ 8 ปีเพราะคุณเป็น
  • เครื่องกำเนิดรหัส ต้อง Jacc ในไดเรกทอรีส่วนขยายสวยดี
  • อย่าคาดหวังว่าจะได้รับความช่วยเหลือจากเว็บมากนักบางทีฉันอาจจะหน่วงเหนี่ยวอยู่บ้าง แต่ดูเหมือนว่าจะมี cruft ออนไลน์มากมายสำหรับ joomla ที่การค้นหาบทเรียนที่มีประโยชน์ / คำแนะนำ / การอ้างอิงเป็นเพียงการเสียเวลาอีกครั้ง
  • Joomla ไม่สนใจเอกสารประกอบสำหรับนักพัฒนาซึ่งน่าเศร้าในที่สุดเนื่องจาก codebase นั้นเรียบง่าย

โดยรวมแล้วอย่าใช้ Joomla CMS หากคุณคุ้นเคยกับเครื่องมือสั่งซื้อที่สูงขึ้นแล้วหรือคุณอาจฆ่าตัวตายและมี 10 ที่สูงพอที่จะกระโดดจากการตรึงบนแผนที่ Google เช่นที่ฉันทำ

Ps Joomla 1.6 (1.7) ได้รับการปรับปรุงในหลาย ๆ เรื่องที่สั้น ๆ เหล่านี้ แต่มันก็ไม่สำคัญเพราะการที่ลูกค้าย้ายเว็บสโตร์ (VM's) ไปที่ 1.7 นั้นเป็นความฝันที่ไพเราะไม่ว่าฉันจะขออะไรมากก็ตาม


4

ความคิดเห็นของฉันของ Joomla:

  • มันเป็นมากกว่าจุดและคลิก CMS สำหรับผู้ที่มีความรู้ / ประสบการณ์ด้านเทคนิคเล็กน้อย
  • การเป็นผลิตภัณฑ์ประเภทจุดและคลิกต้องใช้ค่าใช้จ่ายมากขึ้นเพื่อให้สามารถใช้ฟังก์ชันนี้ได้ (ฉันคิดว่ามันช้า - แม้เปิดใช้งานแคช)
  • เนื่องจากมันมีขนาดใหญ่พอสมควรการเปลี่ยนแปลงการเปลี่ยนแปลงหรือการเพิ่มเติมฉันพบว่าต้องใช้เวลามากขึ้นกว่าที่ควร
  • อย่าเข้าใจฉันผิดมีบางปลั๊กอิน / โมดูลที่ยอดเยี่ยมสำหรับ Joomla แต่มีตันที่ทำงานไม่ถูกต้องหรือพยายามทำสิ่งต่าง ๆ มากเกินไปครึ่งทาง
  • ต้องการการแก้ไขอย่างต่อเนื่อง ฉันจำได้ว่าครั้งหนึ่งมีการค้นพบแฮ็คในวันจันทร์มีแพตช์ออกมาในวันถัดไปและในวันพุธที่หนึ่งในเว็บไซต์ลูกค้าของเราถูกแฮ็ก แม้ว่าเราจะมีนโยบายการอัปเกรด / การปะแก้กับลูกค้าหากเราทำการแก้ไขสัปดาห์ละครั้ง (ถ้าจำเป็น) และพวกเขาทำในวันพฤหัสบดีทุกสัปดาห์เราจะสายเกินไปในกรณีนี้ บวก # ของแพทช์ครั้งที่ # ของลูกค้าอาจใช้เวลานานมาก
  • ทุกคนที่สามารถเขียนecho 'hello world';โปรแกรม php เองได้ Joomla เป็นวิธีสำหรับคนที่ไม่ใช่ด้านเทคนิคในการสร้างเว็บไซต์ที่ดูเหมาะสมด้วยความพยายามเพียงเล็กน้อย (ชี้แล้วคลิกจดจำ)

สำหรับโครงการระยะยาวฉันอยากจะแนะนำ:

  • การใช้เฟรมเวิร์กเพื่อมอบฟังก์ชันการทำงานพื้นฐานให้คุณ (เช่นCodeIgniter )
  • รักษาฐานรหัสของคุณไว้ให้ดีเพราะการขยายตัวเร็วเกินไปเป็นการยากที่จะตัดลงไปตามถนน
  • การใช้เฟรมเวิร์กทำให้การเปลี่ยนทิศทางหรือการปรับเปลี่ยนทำได้เร็วขึ้น (หากไม่มีปลั๊กอินสำหรับ Joomla ที่ยังไม่ได้ทำสิ่งที่คุณต้องการคุณจะต้องสร้างขึ้น)
  • เมื่อคุณรู้พื้นฐานของเฟรมเวิร์กแล้วคุณก็รู้โค้ดของคุณทั้งภายในและภายนอก การเพิ่มเปลี่ยนแปลงเปลี่ยนแปลงง่ายขึ้นและใช้เวลาน้อยลง
  • หลีกเลี่ยง Joomla โดยเฉพาะอย่างยิ่งสำหรับโครงการระยะยาวฉันพบว่ากินมากเวลา

แค่สองเซ็นต์ของฉัน หวังว่ามันจะช่วย


0

AFAIK Joomla เป็นCMS ดังนั้นโดยทั่วไปมันแข่งขันกับ CMS อื่น ๆ เช่น Drupal และ Wordpress ในขณะที่ Yii และ Kohana เป็นเฟรมเวิร์กที่คุณมีตัวเลือกต่าง ๆ เช่น Zend โค้ดจุดไฟเช่นกัน เพื่อความเข้าใจของฉัน A CMS เป็นแอปพลิเคชันที่มีชุดของ API และส่วนขยายเพื่อจัดการเนื้อหาของเว็บในขณะที่ A framework เป็นรหัสฐานซึ่งสามารถปรับแต่งตามความต้องการของเราเพื่อสร้างแอปพลิเคชันเว็บ ดังนั้นคุณสามารถสร้าง CMS ด้วยกรอบงาน ฉันอยากจะแนะนำให้ใช้เฟรมเวิร์กแทน CMS สำหรับการพัฒนาแอปพลิเคชัน ฉันเชื่อว่าวิธีเฟรมเวิร์กช่วยให้คุณดำดิ่งสู่วิธีการเช่น MVC รวมถึงให้ตัวเลือกเกี่ยวกับฐานข้อมูลและแม่แบบ

ป.ล. นี่เป็นเพียงความเข้าใจของฉัน ฉันได้ยินมาว่า Drupal และ Joomla นั้นขยายได้มากรวมถึงปรับแต่งได้ แต่ฉันไม่ได้ใช้มัน หลายเดือนที่ผ่านมาฉันได้ดู Yii และดูเหมือนว่ามีเอกสารที่ดีมากและง่ายต่อการเรียนรู้กรอบงาน


0

ทำไมต้อง Joomla? มันเป็น CMS หากคุณสามารถครอบคลุมความต้องการของโครงการของคุณด้วยโมดูลอื่น ๆ ที่มีอยู่จากหนึ่งใน CMS ที่สำคัญนั้นยอดเยี่ยม คำถามต่อไปคือ - คุณสามารถแก้ไขรหัสเพื่อเปลี่ยนแปลงได้หรือไม่หากจำเป็น เท่าที่ระบบ CMS ไปดูรอบ ๆ และดูว่าคนอื่น ๆ แข่งขันกับ Joomla


0

หากคุณต้องการเข้าใจการทำงานของเฟรมเวิร์กต่าง ๆ ให้ดียิ่งขึ้นมันสามารถช่วยพัฒนาตัวคุณเองได้ ดังที่กล่าวมามีหลายวิธีในการสร้างวงล้อดังนั้นคุณต้องการที่จะคิดค้นสิ่งที่ทำไปแล้วอย่างเลวร้ายอย่างไร

ฉันพัฒนาตัวเองเพียงเพราะฉันไม่ต้องการฟังก์ชั่นพิเศษทั้งหมดเช่น Wordpress หรือ Drupal อย่างที่กล่าวไว้ว่า "CMS" ของฉันจะไม่ใช้งานมากจนเกินไปฉันจึงมีปัญหาถ้าฉันต้องการให้คนอื่นมีส่วนร่วม

ความคิดเห็นส่วนตัวของฉันคือการใช้เฟรมเวิร์กเช่น CakePHP, CodeIgnitor, Modx, et al, เพื่อพัฒนา CMS ของคุณเองและจากนั้นอาจย้ายไปอยู่ที่ Joomla เช่นคุณอาจจะไม่ต้องการ ...

HTH


0

ฉันใช้ joomla ตั้งแต่ 4 ปีที่แล้ว ฉันใช้เป็นกรอบในการพัฒนาเว็บไซต์ประเภทต่าง ๆ ไม่มีอะไรผิดปกติในการใช้ Joomla มีส่วนขยายเพื่อสร้างแซนด์บ็อกซ์สำหรับส่วนขยายที่กำหนดเองและลดเวลาได้มาก ส่วนขยายจำนวนมากมีให้ใช้งานฟรีแล้ว และคุณสามารถสร้างของคุณเองในเวลาอันสั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.