Bonfire

Czym jest Bonfire? Krótko mówiąc, jest to zestaw gotowych narzędzi – fundament pod budowę Twoich własnych aplikacji. Za projektem początkowo stał jedynie Lonnie Ezell, który tworzył go na własne potrzeby. Później jednak projekt został otwarty na społeczność i tak rozwija się do tej pory. Właśnie ukazała się wersja 0.6, co jest dobrym pretekstem, aby przedstawić pokrótce cały projekt.

Co więc dostajemy na samym starcie? Jest tego naprawdę sporo. Wymienię więc tylko najważniejsze elementy:

  • Moduły. Bonfire składa się z modułów. Używa do tego znanego w społeczności rozszerzenia HMVC, które pozwala na trochę inną organizację pracy aplikacji. Moduły są grupami komponentów, które mogą składać się z kontrolerów, modelów, widoków, bibliotek itd. Siłą modułów jest ich przenośność. Aby wykorzystać ponownie kod, który został zawarty w module, wystarczy skopiować jeden folder i przenieść go do innego projektu. Po więcej informacji na temat samego HMVC, zapraszam do tego wpisu lub pod adres samego projektu.
  • Panel administracyjny zawiera wiele podstawowych i przydatnych funkcji. Cała aplikacja Bonfire jest zbudowana z wielu modułów, a każdy z nich może posiadać własne narzędzia administracyjne (i nadal być niezależnym modułem). UI oparty jest o Twitter Bootstrap, co pozwala na łatwą rozbudowę panelu administarcyjnego. Wypada też dodać, że niemal do wszystkich wymienionych poniżej opcji, dostajemy wygodny interfejs, który pozwala na zarządzanie wszystkimi aspektami aplikacji.
  • Migracje dla bazy danych oraz zarządzanie wersjami bazy oraz jej backupami. Migracje są oparte o standardową klasę migracji CodeIgnitera, ale dodatkowo rozszerzają ją – dostarczając nowych funkcjonalności. Możliwe jest teraz tworzenie migracji dla każdego modułu osobno.
  • Do ręki dostajemy również system do przechowywania ustawień w obrębie całej aplikacji.
  • System kont użytkowników, który jest dosyć elastyczny i posiada wiele opcji, w tym system ról. Należy przy tym zaznaczyć, że uprawnienia pozwalają na precyzyjne określenie dostępu użytkowników, do konkretnych części aplikacji. Możemy również określać dodatkowe pola dla profilu, jakie będą posiadali użytkownicy, czy sposób logowania do aplikacji.
  • Module Builder, czyli moduł który pozwala na „wyklikanie” podstawowego kodu, którego będziemy potrzebować w module. Znacząco redukuje to czas spędzony na developmencie, ponieważ większość kodu jest generowana za nas. Później pozostaje nam tylko dostosowanie otrzymanego kodu do naszych wymagań. Moduł ten jest ciągle rozbudowywany. Istnieje też opcja generowania kodu, na podstawie istniejącej już bazy danych.
  • System do tłumaczenia aplikacji i własnych modułów z poziomu panelu administracyjnego. Dostarczanie różnych wersji językowych staje się przez to o wiele prostsze.
  • System zdarzeń dla systemu, który pozwala na integrację naszych własnych modułów z aplikacją Bonfire. Możemy również zaimplementować zdarzenia we własnych modułach.
  • System logów, który zbiera informacje o wszystkich ważnych aktywnościach użytkowników w systemie (np. dodanie/usunięcie elementu z bazy danych).
  • Rozbudowany system szablonów i tematów (oparty o bibliotekę Ocular). Rozwiązanie bogate w opcje – dostarcza również system do zarządzania assetami (włączając w to minifikację).
  • Dodatkowo otrzymujemy klasę modelu, która posiada wiele funkcji pomocniczych (m.in. CRUD), co ułatwia pracę z bazą danych. To samo ma miejsce w przypadku kontrolerów – do dyspozycji mamy ich aż 4, a każdy z nich odpowiada za różne strefy aplikacji.

Podsumowując, moduły jakie mamy do dyspozycji to: Users, Activities, Migrations, Permissions, Roles, Setings, Sysinfo, Translate Tool, Module Buider, Logs, Emailer, UI, Updater, Database. Jak widać całkiem sporo.

Jeśli chcecie zobaczyć Bonfire w akcji, to możecie zapoznać się z materiałami video, na stronie http://cibonfire.com/learn. Co prawda, jest tam używana wcześniejsza wersja systemu, ale sama zasada działania raczej nie różni się od obecnej. Po więcej szczegółowych informacji, zapraszam natomiast do dokumentacji.

1 komentarz do wpisu “Bonfire”

  1. Wersję 0.6 testowąłem ale jedynie tą developerską(ok 2 miesiące temu). Oczywiście sprawdzę jak się ma wersja 0.6 release :D.

    Bonfire naprawdę polecam, jako „coś więcej niż crud-a”. Niestety nie podoba mi się w nim to, że mamy bardzo ograniczoną kontrole nad module_builderem. Edycja podstawowego themeu panelu admina to… koszmar… kod html generowany przez module_builder to też koszmar :)

    Kod PHP, jest naprawdę dobry(praktyka budowy kontrolerów jest naprawdę warta uwagi!). ORM jest genialny w swojej prostocie. Migrację są banalne.

    No i module builder ma jeszcze masę błędów.

    Podsumowując, jest to spory projekt i zapowiada się bardzo dobrze, tak więc trzeba czekać, bo to dopiero wersja 0.6.

    Odpowiedz

Dodaj komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.