Jakich narzędzi mogę użyć, aby pomóc mi w rozwoju Joomla?


26

Jestem nowy w tworzeniu Joomla i chciałbym wiedzieć, jakie narzędzia i / lub oprogramowanie mogą mi pomóc w rozwoju zarówno backendu, jak i frontonu strony Joomla. Obejmuje to także wszelkie przyszłe konserwacje i aktualizacje w przyszłości.


1
Chcemy, aby ta strona była wiki pełną przydatnych narzędzi, których większość z nas używa do Joomla i ogólnego rozwoju / administracji. Rozdzieliliśmy odpowiedzi według kategorii narzędzi. Wszyscy użytkownicy mogą dodawać, aktualizować informacje w odpowiedziach poniżej. Pytanie to można znaleźć w innych odpowiedziach, szczególnie dla nowych użytkowników - i myślę, że będzie to mile widziane powitanie.
FFrewin



Odpowiedzi:


17

Rozwój

Generał

  • Composer
    Composer to narzędzie do zarządzania zależnościami w PHP. Pozwala zadeklarować biblioteki, od których zależy Twój projekt, i zarządza nimi (instaluje / aktualizuje).

  • Joomlatools Composer Installer
    Ta wtyczka Composer zainstaluje rozszerzenia w twojej instalacji Joomla.

  • FOF2 (Framework on Framework 2)
    FOF to platforma szybkiego tworzenia aplikacji zawarta w Joomla! Rozszerza Joomla! Platforma zamiast go zastępować, zawiera własną rozwidloną i rozszerzoną wersję klas MVC, zachowując mocną pozór do istniejącej Joomla! i zapewnia możliwości HMVC.

  • FOF3 (Framework w Framework 3) FOF3 ulepsza w FOF2 / F0F2 i wprowadza potężne nowe narzędzia dla Joomla 3. jak nowy model danych, użycie przestrzeni nazw, kontener DI, automatyczne ładowanie klas komponentów, konstruktor rusztowań do szybkiego automatycznego tworzenia ramki dla twój komponent i wiele więcej . OSTRZEŻENIE FOF 3.x nie jest wstecznie kompatybilny z FOF 2.xi 1.x.

    • FOF3-Basic Przykład typu Witaj na świecie dla Akeeba FOF3 napisany jako przewodnik programisty dotyczący budowy Joomla! komponent od podstaw.
  • Nooku Framework
    Framework do budowania rozszerzeń Joomla z mniejszym kodem.



Generatory rozszerzeń

  • generator-joomla-komponent (Generator komponentów dla Yeoman )
    generator-joomla-komponent pozwala szybko i bez wysiłku rusztować nowy komponent joomla, używając zalecanego wzorca projektowego MVC i standardów kodowania.

    Obejmują one:

    • Pliki językowe internacjonalizacji
    • Zakładki do wcięć
    • Notacja zmienna CamelCase
    • Właściwa architektura MVC
    • Kody pośredniczące PHPDocumentor dla każdej metody, a także bloki dokumentów na poziomie strony
    • Korzysta 'ponad ", bo to właśnie oficjalne zastosowania biblioteki Joomla
  • generator-joomla-admin-template (generator szablonów administratora dla Yeoman )
    generator-joomla-admin-template to generator Yeoman, który umożliwia automatyczne generowanie szablonów administratora joomla dla Twojego zaplecza.

  • Kreator komponentów Joomla (bezpłatny dostęp jest ograniczony do jednej tabeli bazy danych)
    Kreator komponentów Joomla pozwala wygenerować w pełni funkcjonalny, gotowy do instalacji, niestandardowy komponent Joomla w kilka minut. Codziennie oszczędza programistom Joomla setki godzin czasu programowania.

  • Component Builder Kompilator
    komponentów dla Joomla, który jest bardzo zaawansowany, naprawdę zdolny do budowania niezwykle złożonych komponentów w ułamku czasu.

  • Joomla Module Generator firmy XDSoft
    Joomla Module Generator firmy XDSoft upraszcza proces i oszczędza czas programowania modułu dla Joomla. Tworzy strukturę, tworzy wszystkie niezbędne katalogi i pliki, generuje prawidłowy główny plik XML. W rezultacie otrzymujesz pakiet zip gotowy do instalacji.

  • Generator wtyczek Joomla od ExtStore
    Joomla! Plugin Generator firmy ExtStore generuje prostą pustą wtyczkę z plikami wymaganymi do szybkiego uruchomienia nowej wtyczki Joomla. Po wypełnieniu szybkiego formularza zawierającego nazwę wtyczki, autora i opis, otrzymujesz pakiet zip gotowy do instalacji, w tym pliki językowe (en-GB).



Dokumenty i zasoby


Opracowałem darmowy generator modułów, który jest dostępny na mojej stronie internetowej. Czy ktoś miałby coś przeciwko, żebym to do tego dodał?
Lodder

@Lodder Nie, wcale nie.
Rene Korss,

15

Środowiska:

  • Wamp (Windows)
    WampServer to środowisko programistyczne dla systemu Windows. Pozwala tworzyć aplikacje internetowe za pomocą Apache2, PHP i bazy danych MySQL. Oprócz tego PhpMyAdmin umożliwia łatwe zarządzanie bazami danych.

  • Mamp (Mac: wersja dla społeczności i wersja komercyjna)
    MAMP instaluje lokalne środowisko serwerowe w ciągu kilku sekund na komputerze Mac OS X. Jest dostępny bezpłatnie (edycja społecznościowa) i można go łatwo zainstalować. MAMP nie naruszy żadnej istniejącej instalacji Apache działającej już w twoim systemie. Możesz zainstalować Apache, PHP i MySQL bez uruchamiania skryptu lub zmiany plików konfiguracyjnych!

  • Lampa (Linux)

  • Xampp (dostępny na wszystkie platformy)
    XAMPP to całkowicie darmowa, łatwa w instalacji dystrybucja Apache zawierająca MySQL, PHP i Perl. Pakiet open source XAMPP został skonfigurowany tak, aby był niezwykle łatwy w instalacji i obsłudze.

  • Vagrant
    Vagrant to narzędzie do budowania kompletnych środowisk programistycznych. Dzięki łatwemu w obsłudze przepływowi pracy i skoncentrowaniu się na automatyzacji, Vagrant skraca czas konfiguracji środowiska programistycznego, zwiększa parytet programistyczny / produkcyjny i sprawia, że ​​„praca na moim komputerze” usprawiedliwia relikt przeszłości.

    • Joomlatools Vagrant box (maszyna wirtualna ze stosem lamp)
      Ten projekt automatyzuje konfigurację środowiska programistycznego Joomla. Jest w stanie uruchomić w pełni funkcjonalny stos LAMP za pomocą jednego polecenia, dzięki czemu możesz szybko rozpocząć pracę nad projektami Joomla.

  • Oracle VM VirtualBox
    VirtualBox to potężny, bogaty w funkcje produkt do wirtualizacji zarówno dla przedsiębiorstw, jak i do użytku domowego, jest dostępny bezpłatnie jako oprogramowanie Open Source (GNU GPL).

    VirtualBox działa na hostach Windows, Linux, Macintosh i Solaris i obsługuje wiele systemów operacyjnych gości, w tym między innymi Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8), DOS / Windows 3.x, Linux (2.4, 2.6 i 3.x), Solaris i OpenSolaris, OS / 2 i OpenBSD.

  • Ampps (dostępny na wszystkie platformy)
    AMPPS to łatwy w instalacji pakiet oprogramowania Apache, Mysql, PHP, Perl, Python i Softaculous, który można stosować na komputerach stacjonarnych i serwerach biurowych.

Wymagania systemowe Joomla3


Nigdy wcześniej go nie używałem, ale zaczynam używać go teraz do innego projektu i wygląda obiecująco, vagrant box Joomla (maszyna wirtualna): joomlatools.com/blog/2013/08/joomla-in-a-box.html
fruppel

@fruppel - Ahh nice. O ile dobrze pamiętam, ktoś niedawno pytał o maszynę wirtualną. Możesz to edytować z dowolnymi zaleceniami. FFrewin zasugerował, by stało się wiki społeczności dla nowych użytkowników Joomla
Lodder

@FFrewin - Być może lepszych byłoby wiele odpowiedzi. Może gdyby każda sekcja (środowisko, redaktorzy itp.) Była osobną odpowiedzią, to użytkownik mógłby dodać opis i opinię dla każdej z nich
Lodder

1
@Lodder: Ok zgodził się, w końcu podzielimy odpowiedzi podzielone na kategorie według sekcji. Na razie dodam krótkie odniesienie do 2 narzędzi DB w powyższej odpowiedzi.
FFrewin

Jest to doskonały zasób i powinien być punktem wyjścia dla każdego, kto jest zainteresowany rozwojem Joomla (lub każdym web dev!). Niektóre z nich są dla mnie nowe i zamierzam to zbadać! Bardzo mile widziane :)
jonboy

9

Testowanie:

Jeśli planujesz napisać znaczną ilość kodu PHP lub JavaScript, wszystkie standardowe narzędzia programistyczne PHP i JavaScript będą przydatne, niezależnie od tego, że Twój kod będzie działał w środowisku Joomla, a nie jako samodzielny.

Po stronie PHP:

  • XDebug : rozszerzenie PHP dla programistów, które umożliwia wykonywanie czynności takich jak przechodzenie między wierszami kodu, aby pomóc Ci znaleźć błędy. Nieoceniony.
  • phpUnit : narzędzie testujące. Napisz testy phpUnit, aby upewnić się, że Twój kod działa
  • PHPMD : PHP „Detektor bałaganu ”. Wskazuje kod niskiej jakości. (Wiele dobrze znanych projektów mogło od samego początku korzystać z tego rodzaju narzędzi).
  • CodeSniffer i standardy kodowania Joomla: wymuszają czystą praktykę kodu i ułatwiają odczytanie kodu nowym programistom.

Po stronie JavaScript:

  • Różne funkcje DevTools przeglądarki. Wszystkie główne przeglądarki mają teraz dobrej jakości narzędzia programistyczne. Firefox ma również Firebug dostępny jako wtyczka oprócz wbudowanych narzędzi programistycznych, co również jest warte posiadania.
  • JSHint : Wskazuje kod niskiej jakości i potencjalne błędy.

Istnieje mnóstwo takich narzędzi, ale oczywiście zależy to od tego, jak poważne będzie twoje kodowanie - jeśli po prostu podszywasz kilkadziesiąt wierszy kodu, nie będzie wiele problemów z większością powyżej. Ale z drugiej strony, jeśli planujesz napisać wtyczkę Joomla o rozsądnej wielkości i wspierać ją przez jakiś czas, to powyższe narzędzia będą dla ciebie nieocenione, ponieważ pomogą ci dobrze napisać.


8

Frontend (szablon, framework itp.):

  • UIKit (framework)
    UIKit ma zaledwie kilka lat, ale stał się bardzo popularny. Jest to lekka i modułowa platforma front-end do opracowywania szybkich i wydajnych interfejsów sieciowych i jest używana we wszystkich szablonach Yootheme od Warp 7. Większość Javascript została przeniesiona do oddzielnych komponentów, co oznacza, że ​​możesz załadować każdy z nich, kiedy i gdzie chcieć.

  • Bootstrap (framework)
    Bootstrap to niezwykle popularny, jeśli nie najpopularniejszy framework HTML, CSS i JS do tworzenia responsywnych stron internetowych. Bootstrap sprawia, że ​​tworzenie stron internetowych jest szybsze i łatwiejsze. Stworzono go dla osób na wszystkich poziomach umiejętności, urządzeń o różnych kształtach i projektów różnej wielkości, a przede wszystkim jest to oprogramowanie typu open source, dlatego jest ono hostowane, rozwijane i utrzymywane w społeczności GitHub. Wersja 2.3.2 (nie jest już oficjalnie obsługiwana) jest również dostarczana z Joomla 3.xi jest używana jako domyślny szablon Protostar.

  • Yootheme (dostawca szablonów)
    Yootheme jest jednym z najpopularniejszych dostawców szablonów Joomla. Odgrywają nowy szablon (wykorzystując swoją frontu, UIKit) każdego miesiąca z unikalnym wyglądem.

  • Foundation (framework)
    Foundation to rodzina responsywnych frontu, który ułatwia projektowanie pięknych responsywnych stron internetowych, aplikacji i e-maili, które wyglądają niesamowicie na dowolnym urządzeniu. Podstawa jest semantyczna, czytelna, elastyczna i całkowicie konfigurowalna.
  • Semantic UI (framework)
    Semantic to framework programistyczny, który pomaga tworzyć piękne, responsywne układy za pomocą przyjaznego dla ludzi HTML.
  • Pure by Yahoo (zestaw małych, responsywnych modułów CSS)
    Pure ma być punktem wyjścia dla każdej strony internetowej lub aplikacji internetowej. Pure dba o całą pracę CSS, jakiej potrzebuje każda strona, nie powodując jednak, że wygląda ona jak wycinarka plików cookie:

    • Elastyczna siatka, którą można dostosować do własnych potrzeb.
    • Solidna baza oparta na Normalize.css do rozwiązywania problemów ze zgodnością w różnych przeglądarkach.
    • Konsekwentnie stylowane przyciski, które działają z elementami i.
    • Style menu pionowego i poziomego, w tym obsługa menu rozwijanych.
    • Przydatne wyrównania formularzy, które świetnie wyglądają na wszystkich rozmiarach ekranu.
    • Różne popularne style tabel.
    • Niezwykle minimalistyczny wygląd, który można bardzo łatwo dostosować.
    • Domyślnie reaguje, z opcją braku odpowiedzi.
    • Niezwykle mały rozmiar pliku: zminimalizowane 4,5 KB + gzip.

Pozdrawiam za separację :). Zacznę pisać trochę informacji o tych frameworkach i środowiskach
Lodder,

@Lodder: Tak, chciałem opublikować te narzędzia db z kilkoma dodatkowymi informacjami i pomyślałem, że nadszedł czas na rozdzielenie odpowiedzi. Myślę, że trochę pomieszałem z linkiem LAMP w sekcji środowiska. Czy możesz przejrzeć i dodać swój poprzedni link?
FFrewin

1
Jasne, myślę, że Lamp trzeba zainstalować za pośrednictwem Ubuntu i nie jest jak zwykłe oprogramowanie do pobrania. Zakładam, że link musi przejść do samouczka. Potwierdzi to jednak
Lodder

7

Narzędzia przeglądarki:

  • Adobe Edge Inspect CC (bezpłatny)
    Edge Inspect to niezbędna aplikacja dla programistów i projektantów stron internetowych, którzy muszą wyświetlać podgląd swoich treści na wielu urządzeniach mobilnych. Bezprzewodowo sparuj wiele urządzeń iOS i Android z komputerem, pobierz zrzuty ekranu z dowolnego podłączonego urządzenia i wyświetlaj w czasie rzeczywistym wyniki zmian w HTML, CSS i JavaScript.

  • Firebug (Firefox) (Należy pamiętać, że istnieje wersja Lite dla innej przeglądarki, ale zalecam korzystanie z wbudowanych inspektorów)

  • ColorZilla (Firefox i Chrome)


Polecam Web Developer jako kolejne świetne rozszerzenie dla Firefoxa (i Chrome). Jest bardzo podobny do firebuga, ale ma inną strukturę, więc korzystanie z obu jest pewne.
TryHarder,

7

Redakcja:

  • Notepad ++ (dla ekstremalnej prędkości i prostoty)
  • Atom
  • Sublime Text (super szybki i pełen funkcji)
  • PhpStorm (pełne PHP IDE)
  • Netbeans IDE
    Szybko i łatwo twórz aplikacje komputerowe, mobilne i internetowe przy użyciu Java, HTML5, PHP, C / C ++ i innych. NetBeans IDE jest DARMOWY, open source i ma ogólnoświatową społeczność użytkowników i programistów.

  • Eclipse PDT (narzędzia
    programistyczne PHP ) Projekt PHP IDE zapewnia platformę PHP Integrated Development Environment dla platformy Eclipse. Eclipse IDE jest DARMOWY i open source. Wymaga zainstalowanej Java.

  • IDE dla wielu platform Komodo dla wszystkich głównych języków, w tym Python, PHP, Go, Perl, Tcl, Ruby, NodeJS, HTML, CSS, JavaScript i więcej



6

Bazy danych

Projekt / Rozwój / Zarządzanie:

  • MySQL Workbench - (Windows, Mac, Linux)
    MySQL Workbench to zunifikowane narzędzie wizualne dla architektów baz danych, programistów i DBA. MySQL Workbench zapewnia modelowanie danych, programowanie SQL i kompleksowe narzędzia administracyjne do konfiguracji serwera, administracji użytkowników, tworzenia kopii zapasowych i wielu innych.
    Dzięki MySQL Workbench możesz pracować bezpośrednio na bazach danych na lokalnych lub zdalnych serwerach. Jest dostępny w systemach Windows, Linux i Mac OS X.


  • Sequel Pro - (Mac)
    Sequel Pro to szybka, łatwa w użyciu aplikacja do zarządzania bazą danych Mac do pracy z bazami danych MySQL. Zapewnia bezpośredni dostęp do baz danych MySQL na lokalnych i zdalnych serwerach.


  • phpMyAdmin (narzędzie administracyjne MySQL napisane w PHP - zwykle na każdym hoście)
    phpMyAdmin to darmowe narzędzie napisane w PHP, przeznaczone do zarządzania administracją MySQL przez Internet. phpMyAdmin obsługuje szeroki zakres operacji na MySQL, MariaDB i Drizzle. Często używane operacje (zarządzanie bazami danych, tabelami, kolumnami, relacjami, indeksami, użytkownikami, uprawnieniami itp.) Mogą być wykonywane za pośrednictwem interfejsu użytkownika, podczas gdy nadal masz możliwość bezpośredniego wykonywania dowolnej instrukcji SQL.


  • Adminer (podobny do phpMyAdmin, ale bardziej uproszczony i lekki)
    Adminer (wcześniej phpMinAdmin) to w pełni funkcjonalne narzędzie do zarządzania bazami danych napisane w języku PHP. W przeciwieństwie do phpMyAdmin, składa się z jednego pliku gotowego do wdrożenia na serwerze docelowym. Administrator jest dostępny dla MySQL, PostgreSQL, SQLite, MS SQL, Oracle, Firebird, SimpleDB, Elasticsearch i MongoDB.


Narzędzia do tworzenia kopii zapasowych serwerów

  • MySQLDumper
    MySQLDumper to projekt typu open source (licencja GNU), narzędzie PHP i Perl do tworzenia kopii zapasowych baz danych MySQL. Jest to szczególnie odpowiednie dla współdzielonych obszarów hostingu, gdzie nie masz dostępu do powłoki i jest to naprawdę przydatne, gdy istnieje potrzeba tworzenia kopii zapasowych / przesyłania / przywracania dużych baz danych, w których skrypty php kończą się ze względu na maksymalny czas wykonania.

  • phpMyBackupPro
    phpMyBackup Pro to bardzo łatwa w użyciu, bezpłatna, internetowa aplikacja do tworzenia kopii zapasowych MySQL, licencjonowana na licencji GNU GPL. Możesz tworzyć zaplanowane kopie zapasowe, zarządzać nimi i przywracać je, pobierać lub przesyłać pocztą elektroniczną i wiele więcej!

  • AutoMySQLBackup
    AutoMySQLBackup z podstawową konfiguracją utworzy dzienne, tygodniowe i miesięczne kopie zapasowe jednej lub więcej baz danych MySQL z jednego lub więcej serwerów MySQL.


Kontrola wersji bazy danych:


Nie jestem pewien, w której kategorii powinni się znaleźć, ale wszystkie narzędzia Akeeba są doskonałe - Akeeba Backup i Kickstart do przesyłania stron i zapewniania osobom nietechnicznym łatwego sposobu tworzenia własnych kopii zapasowych. Warto też mieć dział bezpieczeństwa, w którym to przypadku Narzędzia administracyjne Akeeba.
Richard B

5

Kontrola wersji:

Kod źródłowy:

Kontrola wersji bazy danych:

Joomla Site Staging

  • Rozszerzenie
    środowiska StageIt Staging dla Joomla!
    Cechy:
    • Utwórz środowisko przejściowe w kilka sekund
    • Rozwijaj się w środowisku testowym bez ryzyka dla Twojej działającej witryny
    • Wprowadź dowolne zmiany - zaktualizuj rozszerzenia, usuń zawartość itp
    • StageIt obsługuje WSZYSTKIE rozszerzenia stron trzecich
    • Zsynchronizuj środowisko testowe z witryną na żywo w dowolnym momencie
    • Przycisk wizualny umożliwia natychmiastowe przełączanie między środowiskami
    • Automatyczne kopie zapasowe pozwalają przywrócić działającą witrynę do dowolnego punktu synchronizacji
    • Skonfiguruj do pracy z wieloma serwerami - nawet GoDaddy!

3

Wymagania systemowe dla Joomla! 3.x

Dla tych, którzy dopiero zaczynają i chcą skonfigurować swoje środowisko lub po prostu muszą zainstalować Joomla, są to podstawowe wymagania systemowe dla Joomla:

PHP:


Obsługiwane bazy danych:

MySQL:

SQL Server:

PostgreSQL:


Obsługiwane serwery WWW:

Apache:

Nginx:

Microsoft IIS:

  • Zalecane : 7
  • Minimum : 7

1
lepiej wesprzeć link do najnowszych wymagań, ponieważ jest aktualny: downloads.joomla.org/technical-requirements np. zalecane PHP 5.6 lub 7.0+
Tom Kuschel
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.