Wielka moda

vanadis

Miło nam poinformować, że dla Vanadis Milano będziemy implementować nową wydajną platformę e-commerce.  Założeniem projektu jest oparcie się o nasz system red Jungle CMS co pozwoli stworzyć spójny i wydajny system zarządzania stroną www, blogiem oraz sprzedażą – w tym stanami magazynowymi.
Platforma będzie w pełni responsywna i zintegrowana z mediami społecznościowymi oraz międzynarodowymi systemami płatności.
Odmiennie od większości naszych realizacji opartych na php  platforma będzie się opierać o język programowania ruby on rails.

Opublikowano e-commerce, Projektowanie stron | Otagowano , , | Skomentuj

Sesja zdjęciowa dla Multibiura

Najciekawsze elementy asortymentu Multibiura sfotografowaliśmy w dwóch konwencjach, by odróżnić artykuły biurowe i szkolne. Pierwsze prezentujemy w ciemnej tonacji kolorów, drugie w jasnej – pierwsze pokazane są jako poważne i luksusowe, drugie pełne są barw i energii. Z wyników jesteśmy nawet bardziej niż zadowoleni – podobnie nasz klient.

2014-09-09 02;17;33 2014-09-09 16;37;19 2014-09-09 17;02;17 2014-09-09 16;22;39 2014-09-11 16;35;26 2014-09-11 17;44;54 2014-09-11 17;20;35 2014-09-11 16;14;49A już wkrótce – strona www!

Opublikowano Ciekawostki | 1 komentarz

Aplikacja mobilna na targi moto

jazda

Właśnie kończymy pracę nad aplikacją mobilną na Ipada.

Realizujemy ciekawą quizową aplikacje, która będzie jednym z najważniejszych elementów promocji dużego koncernu działającego na rynku motoryzacyjnym.

Aplikacja będzie podstawą organizacji konkursu dla mechaników samochodowych.

Aplikacja i hostessy oczywiście :-)

Opublikowano Aplikacje Mobilne | Otagowano , | Skomentuj

Szybując z Phalconem

W dzisiejszych czasach, tworząc aplikacje webowe, nie da się uniknąć korzystania z frameworków. Tworzy się obecnie tak rozbudowane aplikacje, które często posiadają skomplikowane funkcjonalności, że wykorzystanie frameworka jest konieczne aby cały kod utrzymać w ryzach przy poszanowaniu zasady DRY(Don’t-Repeat-Yourself).Phalcon PHP

Niestety, frameworki w PHP, takie jak Symfony, CodeIgniter, Laravel, itp mają jedną poważną wadę – ich wydajność choćbyśmy nie wiem jak optymalizowali kod i majstrowali cache będzie zawsze niższa niż kodu napisanego strukturalnie. Czemu ? Po pierwsze – język PHP jest interepretowany a nie kompilowany. A więc kod PHP musi być analizowany za każdym razem jak pojawi się zapytanie. Cache jak np APC poprawia to ale to nie jest rozwiązanie a jedynie, nazwijmy to, listek figowy.

Po drugie – każdy framework wymaga N plików niezbędnych przy inicjalizacji/ładowaniu. Jak dodamy do tego interpretacyjny charakter PHP to łatwo zauważyć, że aplikacja napisana na frameworku nie może być demonem szybkości.

Rozwiązanie nasuwa się samo – najszybszy framework powinien być w postaci skompilowanej. Długo to było marzenie ściętej głowy aż do 2012 kiedy to pojawił się Phalcon – framework napisany od postaw jako skompilowane rozszerzenie do PHP. mamy wiec ogromny przyrost szybkości i wygodę użytkowania bo nie musimy troszczyć się o N plików frameworka – wszystko zawarte w jednym pliku rozszerzenia ładowanego przy starcie webserwera tylko raz. Minusem jest fakt, że tak naprawdę nie mamy kontroli nad kodem frameworka, nie wiadomo do końca co w tym rozszerzeniu jest ani.. nie można samodzielnie dołożyć patcha poprawiającego tymczasowo dostrzeżony bug frameworka. No i trzeba mieć możliwość dopisania tego rozszerzenia do php.ini co nie zawsze jest możliwe na serwerach współdzielonych gdzie 90% stron obecnie pracuje.

Mimo wszystko jest to niezmiernie ciekawa inicjatywa, która pokazuje że PHP mimo wszystko też ma w zanadrzu ciekawe rozwiązania, które potrafią zbliżyć się wydajnością do obecnych rozwiązań takij jak node.js czy undertow. Ja maniaków cyferek polecam tą lekturę: http://www.techempower.com/benchmarks/#section=data-r9&hw=peak&test=update.

A jeżeli Was Phalcon zaciekawił to zapraszam tutaj do jego dokumentacji (po polsku!) – przystępnie napisana i łatwo pozwoli ocenić czy nada się do Waszego bieżącego projektu.

Opublikowano Programowanie, Projektowanie stron | Otagowano , , | Skomentuj

ORM w PHP – używać czy może nie używać ?

Niedawno pracując nad rozbudowaną aplikacją PHP stanąłem przed wyborem czy zaimplementować mechanizmy ORM czy nie. Wybór jak to zwykle trudny gdyż zyskuje się coś w zamian za coś..

Schemat mechanizmu ORM

Schemat mechanizmu ORM

Czym jest ORM ? Ten skrót oznacza O(bject) R(elational) M(apping) czyli mapowanie obiektowo-relacyjne. W dużym uproszczeniu jest to sposób w jaki wiążemy obiekty generowane przez aplikację z tabelami w bazie danych. Koncepcja nie jest nowa ale daje interesujące zalety, m.in.:

  • nie trzeba myśleć na temat konstrukcji bazy  z tabelami zawierającymi dane obiektów bo ORM robi  to automatycznie, generując i aktualizując odpowiednie tabele,
  • definiując powiązania między obiektami w kodzie równolegle definiujesz je pomiędzy tabelami,
  • idealnie wpasowuje się to we wzorzec MVC ponieważ wykorzystuje modele jako obiekty
  • przejrzystszy kod ponieważ wyraźnie rozdzielamy kod modelu od kontrolera co sporo ułatwia pracę nad aplikacją i ew. późniejsze ponowne wykorzystanie napisanego kodu,
  • abstrakcja bazy danych – nie zastanawiasz się z jaką bazą danych pracujesz i jej specyfiką a tylko piszesz kod ,który ma działać.

Oczywiście, są też i wady:

  • trzeba napisać więcej kodu co przy złym projekcie lub błędach może zamienić się w koszmar do debugowania,
  • tracimy nieco kontroli nad bazą danych i elastyczności w kodowaniu ponieważ ORM narzuca swoje zasady działania przy powiązaniu obiektów w kodzie z bazą,
  • nieco mniejsza wydajność ponieważ warstwa ORM też swoje waży. Można to jednak niwelować korzystając z mechanizmów cache,
  • męczenie się z specyfiką bazy zamieniamy na męczenie się z specyfiką wybranego frameworka/toolkitu ORM.

Patrząc na te wady i zalety można stwierdzić że ORM nie jest panaceum na wszystkie bolączki programisty php z obiektami i bazą danych i warto się zastanowić czy w danym konkretnym projekcie się to przyda. Na przykład jeżeli piszemy sklep internetowy to ORM na pewno przyda się w pracy ze względu na fakt iż mamy tam kupę obiektów do wygenerowania i zarządzania. Ale jeżeli piszemy np prostą stronę internetową/bloga to nie ma to najmniejszego sensu Tak samo dobry czy nawet lepszy będzie czysty kod PHP z wykorzystaniem PDO aby mieć wydajną aplikację.

Bibliotek ORM do PHP jest już trochę, m.in. Doctrine, Propel, RedBeanPHP, a każda z nich ma swoje zalety i wady. Np.  Doctrine ma wydajmy mechanizm cachujący pozwalający takim mamutom jak framework symfony 2.0 na naprawdę wydajne działanie, Propel nieco szybszy ale jego konfiguracja jest uciążliwa, ReadBeanPHP nie wymaga konfiguracji i działa on-the-fly. Dla niego  nie trzeba używać adnotacji czy plików konfiguracyjnych w XML a zmiany w strukturze bazy mogą zachodzić w momencie wykonywania właściwego kodu a nie w momencie wykonania polecenia aktualizującego schema w bazie.

A więc – używać czy nie używać ? Moim zdaniem używać jeżeli zdecydujecie, że projekt będzie miał z tego korzyść.  A tą decyzję pozostawię już Wam ;)

Opublikowano Ciekawostki, Programowanie, Projektowanie stron | Skomentuj

Wakacje…

gruzja

Niektórzy z nas spoglądają na świat…z wysoko położonych okien wakacyjnego biura.  Ci którzy muszą pracować zazdroszczą i to bardzo.

Opublikowano Ciekawostki | Otagowano , | Skomentuj

Reklama Natywna

reklama_natywna

Tradycyjne formy reklamy są już tak powszechne, że paradoksalnie stają się coraz rzadziej dostrzegane. Wielu potencjalnych klientów ignoruje przekaz reklamowy oparty tylko i wyłącznie na haśle lub grafice. Sytuacja ta wymusiła modyfikację dotychczasowych narzędzi reklamy – jedynym słusznym kierunkiem wydaje się być łączenie komunikacji i interakcji z potencjalnym klientem z tworzeniem atrakcyjnych i wartościowych treści. W odpowiedzi na te potrzeby pojawiła się nowa forma reklamy – reklama natywna. Reklama natywna jest modyfikacją wcześniejszych rozwiązań i wynika niejako z klasycznej formy artykułów sponsorowanych.

Założeniem reklamy natywnej jest to, aby stała się ona częścią – wartościową – otaczającej rzeczywistości. Nie ma jej modyfikować do swoich celów lecz umiejętnie dopasować się do oczekiwań odbiorcy. Reklama natywna minimalizuje negatywne odczucia związane z odbiorem treści reklamowej takie jak zniechęcenie, znużenie, dyskomfort, uczucie przytłoczenia. Dostarcza potencjalnemu klientowi treści wartościowych i interesujących, których niejednokrotnie on sam poszukuje. Czy więc ta forma reklamy ma ona jakieś wady? Niewątpliwą kontrowersją jest granica między tworzeniem materiału reklamowego a rzetelnym przekazywaniem treści. Czy dany temat zostałby poruszony gdyby nie wiązał by się z nim określony dodatkowy przekaz? Czy byłby ukazany w tak atrakcyjnej formie ? Są to kwestie, które zdecydują o dalszym losie reklamy natywnej. Jak wiele wcześniejszych form działań marketingowych, które przeżywały swój nagły rozkwit, równie szybko może zostać wyparta z rynku na rzecz kolejnych nowych rozwiązań. Jest to jednak znacząca szansa na wzbogacenie rynku reklamowego o nową jakość. Spersonalizowanie treści reklamowych i zwiększenie ich efektywności. Poszukiwania najlepszej drogi dotarcia do klienta, i co ważne najlepsze nie oznacza już tylko najbardziej widocznej i skutecznej lecz również oryginalnej, pomocnej i otwartej na potrzeby konsumentów.

Opublikowano Reklama, reklama natywna | Otagowano , , | Skomentuj

Dokumentuj, dokumentuj, dokumentuj….

Przy tworzeniu kodu jedna rzecz jest dla mnie osobiście dość uciążliwa a mianowicie robienie dokumentacji co się napisało.Pożera to całkiem sporo czasu, a jest to ważna część cyklu tworzenia każdego kodu, czy to w PHP czy w Javie czy w jakimkolwiek innym języku. Oczywiście, jeżeli samemu się kod rozwija i nad nim pracuje systematycznie to dokumentację ma się niejako w głowie. Co jednak, kiedy wrócimy do niego np za pół roku ? Prawie gwarantowane, że będziemy się zastanawiać co autor miał na myśli ;)

Dlatego też warto zostawiać w kodzie dokumentację ważniejszych elementów w momencie jak już piszemy kod – ułatwia to potem znacząco życie. A jeżeli korzystamy z IDE takich jak phpStorm czy Netbeans to mamy dodatkowy bonus: IDE potrafią pobrać informacje z dokumentacji kodu i zrobić nam piękne podpowiedzi przy pisaniu kodu. Przykładowo phpStorm taki kawałek kodu:

  /**
     * zwraca tekst z wskazanym fragmentem otoczonym tagami <b></b>
     * @param string $text  - cały tekst
     * @param  string $keyword -  słowo kluczowe do pogrubienia
     * @return string
     */
    static function emboldenPhrase($text, $keyword) {
        $text = str_replace($keyword, '<b>' . $keyword . '</b>', $text);
        return $text;
    }

przetworzy potem na coś takiego:

hintBardzo wygodny sposób podpowiadania przy pracy. Co ważne istnieje standard(nieformalny, ale jest) przy dokumentowaniu zwany PHPDoc/JavaDoc. Jego przykład możecie zobaczyć powyżej. Więcej szczegółów o PHPDoc znajdziecie tu: http://www.phpdoc.org/

Co więcej, jeżeli do waszego zespołu dołączy nowy programista, mając udokumentowany kod źródłowy możecie dać mu/jej całą dokumentację w czystym HTML wygenerowanym za pomocą PhpDocumentor/ApiGen czy DoxyGen. Oszczędzi to i tej osobie i nam czasu na tłumaczenie co i gdzie. A jak to wygląda w praktyce ? Najlepiej sami zobaczcie np tu: http://api.nellafw.org/ albo http://demo.phpdoc.org/Clean/

albo też tu: http://xerces.apache.org/xerces-c/apiDocs-3/classes.html

Nie da się zaprzeczyć że jest to wygodne ;)

Dlatego też warto dokumentować to co się pisze – zaoszczędzicie sobie potem sporo czasu.

Opublikowano Ciekawostki, Oprogramowanie, Programowanie, Projektowanie stron | 2 komentarzy

Sketch 3

sketch-welcome

Nie każdy jest zachwycony z nowego obciążenia fiskalnego zwanego podatkiem od Photoshopa. Dla nas polityka Adobe, która zmierza do oferowania wyłącznie subskrypcji na oprogramowanie jest nie do zaakceptowania.

Dziwimy się tym, którzy nie dostrzegają oczywistych zagrożeń. Nie zamierzamy ich tutaj wymieniać każdy bowiem może się samodzielnie zastanowić co stanie się z jego plikami po zerwaniu umowy z Adobe….

W red Jungle zaadaptowaliśmy Creative Cloud, czyli subskrybcję oprogramowania Adobe, na samym początku jej istnienia. Po części z ciekawości, a po części z braku alternatyw. Był to rok 2011. Od tego czasu aplikacje Adobe zmieniały się – to prawda. Chociaż trudno powiedzieć czy na lepsze.

Teraz mamy rok 2014 i można spodziewać się iż wielka chmura Adobe ostatecznie przykryje ostatni wycinek nieba na którym można dostrzec bezterminowe licencje na Photosopa :-)

To tyle tytułem wstępu.  Dziś będzie o znakomitej aplikacji, która jest jedynym z bodźców do pozostawienia koszmarnej pracy z produktami Adobe w sferze złych snów o których nie chcemy pamiętać.

Oto Panie i Panowie Sketch 3.Następca niezastąpionego, ale też ledwie zipiącego na osx fireworksa i dla wielu następca Photoshopa.

Sketch 3 to najlepsze znane nam narzędzie do projektowania designów stron internetowych oraz aplikacji mobilnych.

Sketch 3 to plikacja pracująca w środowisku wektorowym,  posiadająca wszystko czego dusza zapragnie by tworzyć.

Dla nas hitami są:

  • wydajność – w porównaniu od Fireworksa CS6 na osx sketch sprawia wrażenie jakby pracował na superkomputerach NSA,
  • fantastyczny wektorowy podgląd projektu / możliwość zmiany na bitmapę,
  • prosty i bardzo wygodny interface,
  • symbole,
  • bezstratne skalowanie bitmap,
  • cena,
  • bycie miłym.

Lista funkcjonalności dostępna jest pod następującym adresem.

http://bohemiancoding.com/sketch/features/

Sketch 3 po program dostępny jedynie na osx – to na pewno spore ograniczenie, szczególnie w polskich realiach, ale wygoda pracy w tej aplikacji jest  wystarczającym dla nas powodem by całkowicie przejść na platformę apple ;-)

Opublikowano Ciekawostki | 2 komentarzy