0 poziom | 09 stycznia 2008, 23:59:45
kategoria:
Ogólne
,
Praca
,
Techblog
,
Web design
Od pewnego czasu z zainteresowaniem śledzę rozwój Magento - systemu e-commerce rozwijanego na zasadach OpenSource przez firmę Varien.
Nauczony kilkukrotnym doświadczeniem we wdrożeniach projektów klasy osCommerce/Zen Cart bez mrugnięcia okiem mogę powiedzieć - nigdy więcej. Dostosowanie sklepu do zaprojektowanego wyglądu wymaga sporych nakładów pracy ze względu na niekompletne rozdzielenie prezentacji od treści, oraz bardzo sztywne sposoby prezentowania pewnych informacji. Oczywiście - można nazmieniać dowoli, ale utrudniając sobie proces aktualizacji platformy do nowych wersji - bo modyfikacje obejmują dużo więcej miejsc, niż tylko katalog szablonów.
Magento jest inne - system oparty został o Zend Framework, tworzony jest w zamkniętym środowisku kilkudziesięciu doświadczonych programistów w Varien w celu użycia projektu do firmowych zastosowań. Rozwój idzie zgodnie ze ściśle zaplanowaną ścieżką, kod systemu jest spójny - a co najważniejsze dla nas, developerów, wyjątkowo elastyczny. Wymaga przyzwyczajenia się do dość złożonego w porównaniu z Zen Cartem sposobu integracji własnych rozwiązań w tej plaformie, ale moim zdaniem zdecydowanie warto. Większość rzeczy, włącznie z kompletnie dostosowanym designem, da się zrobić out-of-the-box, a te które się nie da - da się zrealizować w pełni niezależnymi modułami bez ingerencji w jądro Magento.
Projekt ciągle jest w fazie public beta - autorzy nie zalecają używania Magento w celach produkcyjnych ze względu na ciągle rozwijane API, niekompletną dokumentację wielu elementów, oraz potencjalne zmiany mogące poważnie utrudnić uaktualnienie bety do kolejnych wersji. Mimo to, bacznie przyglądam się i testuję w domu możliwości sklepu w kolorze magenty, bo naprawdę warto. Finalna wersja 1.0 od której dostępne będzie stabilne API i możliwość rozwijania modułów regionalnych (np. systemów płatności, integracji z porównywarkami, systemami aukcyjnymi, itp.) planowana jest na przełom marca i kwietnia. Ja tymczasem zaangażowałem się w tłumaczenie Magento na nasz ojczysty język, wychodząc z założenia, że warto dołożyć kamyczek do produktu, którego zamierzam używać w swoich wdrożeniach.
Tak czy inaczej - tym, którzy jeszcze nie widzieli, a borykają się z Zen Cartem, polecam uwadze.
4 komentarze
0 poziom | 12 czerwca 2007, 15:42:24
kategoria:
Praca
Z pamiętnika pracownika
Często łapię się na tym - właściwie to znów się złapałem - że staję przed idiotycznie wrednym i trudnym wyborem. Klient chce zamówić stronę/aplikację/whatever - budżet ma niższy niż bym oczekiwał w podstawowej wycenie, ale dostatecznie duży, żeby trudno było odrzucić, zapomnieć i puścić gościa z kwitkiem.
Jak się robota trafia... no właśnie. Z jednej strony bardzo, ale to bardzo nie lubię robić poniżej swojej standardowej średniej, żeby nie przyzwyczajać ludzi do zbyt taniej pracy i nie psuć rynku, który jest już dostatecznie bardzo zepsuty przez stado aukcji na allegro ze stronami za 300PLN. Z drugiej następuje pewna granica, przy której zarobek byłby dostatecznie konkretny przy niskim nakładzie pracy, żeby się zastanowić, czy jednak nie zrobić wyjątku.
Powtarzam sobie, żeby tych wyjątków nie robić, a zawsze jednak trafi się taki, że go robię. Projektuję sam, bo gdybym zapłacił grafikowi, z którym współpracuję, zostałaby ujemna figa dla mnie za realizację. A jednak robię. Na szczęście rzadko, coraz rzadziej, ćwiczę asertywność i staram się trzymać pułap...
Dodaj komentarz
0 poziom | 25 maja 2007, 14:23:16
kategoria:
Praca
Jak już się dziś rozpisałem, to skrobnę jeszcze jeden wpis.
Często budując bardziej złożone rozwiązanie, które wymaga stworzenia autorskiego systemu, gdyż gotowe nie sprawdzają się i nie spełniają wymagań, staję przed wyborem narzędzia. I... niestety, praktycznie zawsze kończy się na PHP + MySQL, często z wykorzystaniem Symfony, CakePHP lub innego frameworka. Powód? Hosting. Klienci mają wykupione usługi w Polsce, a jeżeli nie mają - takich hostingów właśnie oczekują (nawiasem mówiąc za granicami naszego kraju wcale nie jest wiele lepiej). Ilekroć korci mnie, żeby zrobić coś w Pythonie - ot, na przykład używając Django, jestem hamowany przez oferty firm hostingowych. Te, oferujące obsługę pythona, można policzyć na palcach jednej ręki (nie mówię o serwerach dedykowanych, bo to inna skala kosztów). To samo ma się z Rubym i Ruby on Rails, o PostrgreSQL nie wspomnę. Jaki jest właściwie powód tego, że aplikacji w innych językach niż PHP zwyczajnie nie ma gdzie hostować? ... Eh.
Ten wpis ma charakter czysto refleksyjny.
5 komentarzy
0 poziom | 25 maja 2007, 13:48:23
kategoria:
Praca
Wielokrotnie spotykam się ze zdaniem, że wdrażanie rozwiązań OpenSource w komercyjnych zastosowaniach jest be. Podawane argumenty obejmują zazwyczaj rzeczy w stylu:
- autor strony nie potrafił napisać autorskiego systemu więc użył gotowca
- systemy opensource są bardziej podatne na włamania
- użycie gotowca to pójście na łatwiznę
- JAK MOŻNA KLIENTOWI ZAPROPONOWAĆ DARMOWY SYSTEM CMS/e-commerce/wstaw co chcesz??????
W swojej zawodowej praktyce niejednokrotnie stawałem przed podobnymi dylematami. Z większością kwestii poruszonych na tej liście nauczyłem się nie zgadzać. Postanowiłem garstkę swoich spostrzeżeń umieścić na jogu:
- Bardzo wiele dobrych produktów OpenSource idealnie trafia w potrzeby klienta, nawet bez konieczności głębszych modyfikacji funkcjonalności.
- Dostosowanie projektu OpenSource i jego wdrożenie często zajmuje dużo mniej czasu i wymaga mniejszego nakładu pracy - jednocześnie pozwala na realizację projektu z mniejszym budżetem i w krótszym czasie
- ograniczenia zarówno finansowe jak i czasowe po stronie klienta uniemożliwiają budowę autorskiego systemu - w takich sytuacjach jednocześnie jest on zazwyczaj niepotrzebny (wymagania spełnia nawet prosty system opensource)
- autorzy poważnych projektów opensource dbają o uaktualnienia w przypadku znalezienia luki bezpieczeństwa - argument o podatności na włamania często okazuje się nietrafiony
- oddanie gotowca tak naprawdę nie następuje - przy każdym wdrożeniu można projekt dostosować do potrzeb klienta, a także odpowiednio "ubrać" w otoczkę dedykowaną specjalnie dla niego
To oczywiście nie wszystko. Argumenty zarówno za, jak i przeciw, można mnożyć. Uważam jednak, że wybór rozwiązania powinien zależeć jedynie od specyfikacji projektowej i wymagań klienta. W innych sytuacjach i w innym budżecie warto tworzyć autorskie systemy, w innych zaś warto wykorzystać już istniejące (oraz dostosować je do potrzeb), zamiast wynajdować koło na nowo.
A jakie są Wasze praktyki?
2 komentarze