Od zawsze w Czarnym Kodzie staramy się znajdować nowe, inspirujące rozwiązania zarówno od strony designu, jak i technologii. Na całym świecie Rok 2015 zaczął i kończył się bardzo dynamicznym rozwojem technologii. To wszystko po tym jak w 2014 roku pojawiły się takie rozwiązania jak Docker i ReactJs, przez które świat IT szybko przedefiniował sposób tworzenia aplikacji i interakcji z nimi.

Nowe standardy i oczekiwania zainspirowały nas do szukania alternatywnego rozwiązania, dla Railsów, które od wielu lat były naszym sztandarowym narzędziem pracy, a które stanie się dla nas inspiracją i poprawi szybkość developmentu.

Ponad rok temu zaczęliśmy zagłębienie tematu rozwiązań opartych o JavaScript. Tak rozpoczęła się przygoda z NodeJs oraz opartym na nim ExpressJs. Wykonaliśmy kilka wewnętrznych projektów, a bardzo pozytywne doświadczenia jakie zebraliśmy otworzyły przed nami ścieżkę i wzmogła chęci do dalszego rozwoju w tym kierunku. Właśnie wtedy trafiliśmy na Meteora. Na pierwszy rzut oka, skromnie wyglądający, nazwijmy go, framework okazał się „potworem” o możliwościach, o których nawet się nam nie śniło.

via GIPHY

No dobra, ale o co tyle szumu?

Historia Meteora sięga roku 2011. Wtedy jeszcze pod nazwą Skybreak, objęty inkubacją w jednym z najlepszych startupowych inkubatorów — YCombinator, szybko zbierał coraz większe grono zwolenników. Obecnie wielomilionowe dofinansowanie, jakie technologia w roku 2015 otrzymała, przyczyniło się do ogromnego skoku rozwojowego, oraz dała pewność, ze przez wiele lat nie zniknie ona z rynku. Nie chcemy wyciągać daleko idących wniosków, ale Meteor ma ogromną szansę stać się bezkonkurencyjnym rozwiązaniem przy tworzeniu serwisów i aplikacji, także tych na telefony komórkowe.

Meteor działa w czasie rzeczywistym, w pełni dynamiczne i prezentuje treść klientom od razu po wprowadzeniu zmian po stronie serwera, czy nowej zawartości.Wszystko to odbywa się bez konieczności przeładowywania po stronie klienta. Meteor pozwala przy tym w dużo łatwiejszy sposób tworzyć najpierw prototypy aplikacji, a potem pełnoprawne projekty. Daje ogromne wsparcie dla procesu tworzenia, a także dalszego rozwoju. Idealnie spisuje się w połączniu z metodyką Customer Development. Do tego dochodzą duża społeczność, ogromna skalowalność, oraz szybkość developmentu.

Pierwszy projekt

Na rodzimym rynku, w Polsce, ciężko było nam znaleźć firmy, które mimo zdobytego już doświadczenia zechciałby się wdrożyć w rozwiązania oparte o nową technologię, dlatego pierwszym klientem, który szybko podchwycił temat takich rozwiązań był klient ze Stanów Zjednoczonych — Tecma, którego dzięki IWW Digital Agency obsługujemy od dawien dawna. Dokładnie w 80h byliśmy w stanie przygotować dla niego w pełni działający prototyp, wewnętrznego portalu do zarządzania relacjami z klientami, system faktur, repozytorium plików, oraz centrum komunikacji. Stworzenie prototypu przyczyniło się zwiększonym zainteresowaniem klientów, co chwilę potem przełożyło się bezpośrednio na wyniki firmy. Nam i naszemu partnerowi biznesowemu IWW dało zielone światło do ciągłego rozwoju aplikacji.

Dalsze prace

Pracując nad portalem wpadliśmy także na pomysł stworzenia własnego startupu — Tap To Speak. Nasza siedziba znajduje się w jednym z najnowocześniejszych budynków w Łodzi jakim jest Technopark. To tutaj rozkwitają młode firmy, oraz prowadzone są prawie w każdym tygodniu ciekawe konferencje, nie tylko naukowe. Natchnęło nas to do pewnego pomysłu. Chcieliśmy zrobić rozwiązanie, aplikację webową, która pomoże ludziom w prowadzeniu konferencji i nawiązaniu kontaktu bezpośrednio z widownią za pomocą ich smartfonów. Chcieliśmy je wykorzystywać jako mikrofony i w taki sposób przesyłać dźwięk bezpośrednio do nagłośnienia na sali. Wszystko w oparciu o rozkwitający WebRTC. 

Nad aplikacją pracowały dwie osoby, a łączny czas na stworzenie prototypu, który mogliśmy przetestować w warunkach bojowych zajął niecałe 90h. Dzięki takiej wydajności i jakości udało się nam zdobić od razu pierwsze miejsce na najlepszy łódzki startup, największego akceleratora biznesowego w środkowej Europie  — Business Link.

via Giphy

Stworzenie działającego prototypu w tak krótkim czasie, przy jednoczesnym bazowaniu na Railsach, PHP, czy Javie nie byłoby możliwe, szczególnie ze względu na wymaganą reaktywność widoków pomiędzy obsługującym wydarzenie a widownią.

Jak ważne jest doświadczenie

Po kilku innych projektach byliśmy gotowi na komercyjne wykorzystanie technologii. Przekonanie klientów, poprzez rzetelną argumentację i przytoczenie przykładów, także na rodzinnym rynku, nie stanowiło już problemów. Wiele firm i innych agencji rozpoczęło z nami współpracę właśnie ze względu na Meteora. Wszędzie tam gdzie wdrożeniom w innych technologiach groził „fakap” mogliśmy w szybki sposób wkroczyć z rozwiązaniem i wyprowadzić klienta z tarapatów.

Konkluzja

Główne zalety Meteora przy tworzeniu aplikacji webowych jakie należy wymienić to:

  • Szybkość tworzenia aplikacji a w tym m.in.:
    – niepotrzebny Grunt, Gulp, Bower, czy BrowserSync ,
    – wsparcie dla Jade Template — co najmniej czterokrotnie szybsze pisanie kodu HTML,
    – wsparcie SASS/LESS,
    – CoffeeScript, ES2015 i ES2016 API,
  • aplikacja domyślnie działa w czasie rzeczywistym,
  • łatwość tworzenia testów zautomatyzowanych zarówno po stronie serwera jak i klienta,
  • dzięki narzędziom takim jak MupX połączonymi z Dockerem ogromna szybkość umieszczenia aplikacji na produkcji,
  • jeden język — zarówno serwer (NodeJS, Underscore) i część dla klienta (jQuery),
  • MongoDb i instancja MiniMongo — interfejs i dane dostępne od razu zarówno na serwerze jak i po stronie klienta bez konieczności ciągłej komunikacji,
  • wsparcie popularnych IDE,
  • przepięknie napisana dokumentacja,
  • ogromna społeczność,
  • routing,
  • bezpieczeństwo,
  • programiści go kochają, a tym samym tworzą lepsze rozwiązania.
0 Shares:
Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Zobacz także
Kiedy to oprogramowanie decyduje, czy przeżyjesz
Czytaj więcej

Kiedy to oprogramowanie decyduje, czy przeżyjesz

Mówią, że dwie głowy są lepsze niż jedna. Nic więc dziwnego, że spora część firm programistycznych zaczyna coraz przyjaźniej spoglądać na technikę programowania w parach. Dwie osoby pracują wspólnie nad pojedynczym blokiem kodu - jedna jest kierowcą, druga nawigatorem. Kierowca w tym procesie jest odpowiedzialny za staranne opracowanie kodu, a zadaniem nawigatora jest przeglądanie i koncentrowanie się na planie działania. Istnieje wiele badań, które przedstawiają bardzo duże zalety wpływające na zwiększoną wydajność oraz bezpieczeństwo i solidność produkowanego oprogramowania. Ale czy w każdej kwestii?
Aplikacje Czasu Rzeczywistego
Czytaj więcej

Aplikacje webowe czasu rzeczywistego

Wyjrzyj za okno i zobacz otaczający Cię świat pełen informacji, obrazów, słów i treści, które ma do przekazania. Teraz wyobraź sobie, ze musiałbyś ten widok odświeżać by zobaczyć coś nowego.