Meteor

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.
Subscribe
Powiadom o
guest

0 komentarzy
Inline Feedbacks
View all comments

Stay up to date

Subscribe to the newsletter and receive a e-book as a gift

Zero unwanted content. Only good materials in your inbox.

Leave this field blank

The administrator of your personal data is Adam Trojańczyk 
Click here to find out more about the processing of your personal data.


You May Also Like
Kiedy to oprogramowanie decyduje, czy przeżyjesz
Read more

When the software decides if you will survive

They say that two heads are better than one. So it's no wonder that many software companies are starting to take a friendlier look at software development techniques in pairs. Two people work together on a single block of code - one is the driver, the other the navigator. The driver in this process is responsible for carefully developing the code, and the navigator's job is to review and focus on the roadmap. Much research outlines the very big advantages that affect the increased productivity and the security and robustness of the software produced. But is it true for every issue?