Wordpress와 Joomla!의 소프트웨어 아키텍처의 주요 차이점은 무엇이며 핵심 기능이 어떻게 확장됩니까?


14

* 참고 : 이것은 '더 나은'질문 이 아닙니다 ! *

워드 프레스와 줌라! 둘 다 멋진 오픈 소스 CMS입니다.

주요 차이점은 무엇입니까

1) Joomla!의 소프트웨어 아키텍처 그리고 Wordpress?

2) 핵심 기능을 확장하는 방식은 무엇입니까? 과

3) 핵심 및 확장은 어떻게 업그레이드 및 업데이트됩니까?


1
내가 아는 한 1.wp는 mvc가 아니며 전체 웹 사이트보다 블로그 기능에 관심이있는 경향이 있습니다. 3. 그러나 워드 프레스의 업그레이드 프로세스는 wp 플러그인 비 호환성을 무시하는 것보다 joomla보다 훨씬 낫습니다.
dev-m

2
이 의견은 구체적이거나 명확한 답변을하기에는 너무 광범위합니다 ( "올바른"답변이 많음-질문을 작성하지 않는 방법에 대한 좋은 예). 질문을보다 구체적으로 표현해보십시오.
Andrew Eddie

답변:


18

워드 프레스와 줌라! 높은 평가를 받고 있으며 각각 비교할 때 고유 한 장점이 있습니다.

질문에 대답하려면 :

Joomla!의 소프트웨어 아키텍처에서 그리고 Wordpress

  • Joomla는 OOP (객체 지향) 및 MVC (객체 지향 디자인 패턴)입니다.

  • 워드 프레스는 절차 코드로 작성되었습니다.

절차 적 프로그래밍 은 프로그램이 원하는 상태에 도달하기 위해 취해야 하는 단계를 지정하는 반면, 객체 지향 프로그래밍 ( "OOP")은 프로그램을 객체 또는 데이터 구조로 구성합니다. 은 상호 작용과 함께 및 방법 합니다.

간단한 프로그램의 경우 절차 적 코드 (행별 명령 시퀀스 생각)는 훌륭하지만 규모가 큰 복잡한 응용 프로그램의 경우 절차 적 코드를 유지 관리하기가 더 어려울 수 있습니다. 스파게티 코드 (예 : line-by) 일련의 명령은 많은 GOTO, 예외, 스레드 또는 기타 분기 구성을 사용하여 시작되며 흐름은 개념적으로 스파게티 한 그릇처럼됩니다). 다시 말해 절차 코드는 간단하게 시작되지만 복잡하고 뒤엉킨 다.

따라서보다 복잡한 응용 프로그램은 OOP 및 MVC를 사용하여보다 잘 구조화 할 수 있습니다. MVC를 사용하면 움직이는 부분이 많은 복잡한 프로그램을 작성하는 데 훨씬 적합한 고급 프로그래밍 스타일이됩니다.

절차 적 코드는 처음에 간단한 프로그램을 작성하고 유지하기가 더 쉬운 반면, OOP는 변수 모음 (OOP에서 '속성'이라고 함) 함수 (OOP에서 '방법'이라고 함)를 번들로 깔끔하게 정리할 수 있다는 장점이 있습니다. 더 깔끔하고 읽기 쉽고 유지 보수가 용이 한 코드.

대부분의 Wordpress 응용 프로그램 (예 : 간단한 블로그)의 경우 절차 코드가 완벽하게 작동합니다.

보다 복잡한 응용 프로그램 (예 : 사용자 그룹 권한이 필요한 응용 프로그램 및 많은 확장을 사용하여 기능과 기능을 확장하는 응용 프로그램)의 경우 OOP는 일반적으로 훨씬 더 우아한 접근 방식으로 간주됩니다.

요약하면 :

절차 적 코드를 기반으로하는 Worpress의 소프트웨어 아키텍처는 단순성이 장점이지만 절차 적 코드는 강력한 확장 성을 가진 복잡한 애플리케이션에는 적합하지 않습니다.

줌라!의 소프트웨어 아키텍처 (OOP / MVC)는 더 복잡한 것처럼 보일 수 있지만, 잘 설계 할 때, OOP / MVC 실제로는 훨씬 간단 응용 프로그램의 특징과 기능을 확장 할 수있게 하고 모든 확장이 조화롭게 작동하도록.

차이점 (기본 초보자 수준)을 이해하려면 Peham Raza의 PHP Procedural vs PHP OO vs PHP MVC 를 읽으십시오. 그는 이점을 더 잘 이해하는 데 도움이되는 방식으로 각각의 '인과 아웃'에 대해 설명합니다.

핵심 기능을 확장 할 수있는 방법은 무엇입니까?

  • Joomla는 모듈, 컴포넌트, 플러그인으로 기능을 추가했습니다
  • WorPress는 기능 확장을 위해 플러그인을 사용합니다.
  • Joomla는 모듈, 플러그인 또는 구성 요소 생성이 엄격합니다 (FTP를 통해 파일을 단순히 업로드 할 수는 없으며 확장 프로그램을 사용하여 활성화해야합니다).

핵심 및 확장이 업그레이드 및 업데이트되는 방법

  • 둘 다 업그레이드 또는 업데이트에 거의 동일한 기술을 사용합니다. (개발자에게 재정의를 사용하여 확장 또는 템플릿 변경으로 새 기능을 만들 수 있습니다. 따라서 기본적으로이 상황에서 편집해야 할 핵심 파일이 없으므로 업그레이드로 인해 보안 패치 등이 향상됩니다.)

Wordpress는 CMS가 아니라는 말이 있지만 요즘에는 Joomla 등의 모든 기능을 갖춘 CMS입니다.

WordPress는 개발 지식이 적은 사용자에게는 유용하고 개발자에게는 Joomla에 적합합니다.

의미가 있기를 바랍니다.


3
MVC는 실제로 주요 아키텍처 차이가 아닙니다. 주요 차이점은 Joomla는 OOP이고 WordPress는 (그렇지 않음)입니다. 둘 다 MVC 패러다임을 가지고 있지만 클래스 이름을 지정하는 방식 때문에 Joomla에서 더 분명합니다.
Andrew Eddie

@AndrewEddie 당신이 맞아요.
Jobin Jose

앤드류-고맙습니다 MVC에 대한 참조를 제거하면 대답이 더 정확합니까?
NivF007

1
당신의 마지막 문장은 WordPress가 종종 자신의 팀이나 작은 팀의 글쓰기에 관심이없는 사람들이 사용하는 것처럼 더 많이 넣을 것입니다. Joomla는 여러 사람이 같은 페이지에서 작업하고 팀이 사이트를 구축 할 때 더 잘 확장됩니다. (둘 다 다른 팀 규모에서도 일할 수 있습니다.)
tristanbailey

6

나는이 질문에 진정으로 대답하기 위해 WP와 Joomla!에 광범위하게 익숙해야합니다. Joomla입니다! 무겁고 WP를 몇 번만 사용했기 때문에 내 대답이 당신이 바라는 것처럼 가득 차 있지 않을 수 있습니다.

WP는 무엇보다도 블로깅 플랫폼입니다. 데이터 피드를 위해 설정되었습니다. 정기적 인 정적 홈페이지를 얻으려면 피드 기본값을 벗어나 이동해야합니다. 어렵지 않고 기본값이 아닙니다. 현재하고있는 일을 아는 경우 WP를 확장하여 블로그 플랫폼을 넘어서거나 이미 템플릿을 다운로드 한 템플릿을 다운로드 할 수 있습니다.

Joomla는 무엇보다도 CMS입니다. 기본 코어에서 바로 블로그를 포함하여 완전한 웹 사이트를 보유하도록 제작되었습니다. 플러그인은 자신 만의 컴포넌트와 플러그인을 작성하는 방법을 모르는 사람들을 위해보다 맞춤화 된 환경을 제공 할 수 있도록 도와줍니다. 결국, 왜 바퀴를 재발 명합니까?

내 경험상 WP는 개발자가 아니거나 충분히 알고있는 사람들에게 적합합니다. 반면에 Joomla는 개발자를 위해 제작되었으며 완전히 사용자 정의 된 프론트 엔드 및 백엔드 경험을 원하는 사람들을 위해 개발되었습니다. WP 템플릿으로 작업하면서 몇 시간 동안 원하는 작업을 수행했습니다. 기본 Joomla는 기본 사항으로 제거되었으며 처음부터 빌드됩니다.

WP와 Joomla의 FTP를 나란히 올리면 얼마나 다른지 알 수 있습니다.

WP에는 플러그인을 검색하고 선택하여 설치할 수있는이 플러그인 영역이 있습니다. 나는 당신 도이 같은 곳에서 업데이트 할 수 있다고 생각합니다. 플러그인 영역에있을 때 종종 업데이트가 가능하다는 메시지가 나타납니다.

Joomla는 다운로드 한 플러그인 또는 구성 요소를 업로드 할 수있는 Extension Manager를 사용합니다. 검색 기능이있을 수 있다고 생각하지만 필자는 JED를 사용하여 필요한 것을 찾기 때문에 솔직히 사용한 적이 없습니다. 이 영역에는 설치 한 항목에 대해 사용 가능한 모든 업데이트를 볼 수있는 업데이트 버튼도 있습니다. 다시 말하지만 일부 구성 요소는 사용 가능한 업데이트가 있지만 모든 구성 요소를 제공하지는 않는다고 알려줍니다.

내가 보는 주요 차이점은 WP는 사용자를 위해 만들어 졌다는 것입니다. 템플릿을 설치하고, 업데이트하고, 추가 할 수 있으며, Joomla는 개발자를 위해 만들어졌으며, 설치를 수행하고, 업데이트를 수행하고, 새로운 기능을 구축 / 추가합니다. 그것은 사용자에게 친숙하지 않다는 것은 아니지만 개발자를 위해 만들어 졌기 때문에 사용자의 방식에서 밀려 났다고 생각되는 영역이 있습니다.


2

아키텍처에 대해 이야기 할 때 포털이나 복잡한 웹 사이트, 즉 많은 상호 연결된 엔티티를 작성할 때 중요합니다.

  1. Joomla 소스 코드는 객체 지향입니다.
  2. Joomla 코드는 응용 프로그램, 플러그인, 구성 요소와 같이 크게 나뉩니다.
  3. 대부분의 디자인 패턴은 공장, 데코레이터, 의존성 주입 등과 같은 Joomla에서 따릅니다.

Joomla를 채택했을 때 C 및 C ++ 개발자는 전역 네임 스페이스를 망칠 수있는 기능 대신 동일한 표준 세트를 사용하기 때문에이 기능을 좋아했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.