Kilka tygodni temu robiliśmy rozeznanie wśród firm zajmujących się produkcją oprogramowania. Proces jak wiadomo dość złożony, ale zapytanie było bardzo proste. Chcemy znaleźć kogoś kto zna się na Meteorze. Koniec i kropka. W odpowiedzi dostaliśmy dziesiątki maili, ale moją uwagę przykuł głównie jeden z nich. Ten w którym jego autor napisał, że – “Meteor nie żyje”. Według niego ta technologia umarła w 2015 roku, kiedy przeżywała swoje apogeum, a potem nie ma już nic.

Konsternacja

Przyznam się, że byłem trochę skonsternowany czytając takie sformułowanie i chyba stało się coś, czego się nie spodziewałem – może faktycznie przegapiłem coś ważnego?

W Czarny Kod w firmie od lat zajmujemy się produkcją oprogramowania, doradzamy naszym klientom w doborze odpowiednich technologii i podejmowaniu odpowiednich kroków biznesowych. To właśnie wybór odpowiedniego rozwiązania informatycznego jest kluczowym aspektem programowania. To “być albo nie być” naszych biznesów. Zarówno w korporacji, jak i w małym, początkującym startupie.

Rynek obfituje w technologie służące do tworzenia oprogramowania. Od PHPa, przez Railsy, Closure, .Net, C#, Javę skończyszwszy na JSach, w tym NodeJs’ie, a przykładów jest o wiele więcej.

Dlaczego Meteor

Kilka lat temu pisaliśmy w Railsach, to była nasza główna technologia, na której opieraliśmy swoje narzędzia, ale także ta, którą najczęściej rekomendowaliśmy swoim klientom

Kiedy pojawił się pomysł stworzenia pierwszego, szybkiego MVP, dzięki któremu mieliśmy zwalidować rynek i które miało być technologią reaktywną, nie do końca wiedzieliśmy jeszcze jak w prosty sposób ugryźć temat.

Zadanie nie tyle było przytłaczające, co bardzo czasochłonne, a na to nie mogliśmy sobie pozwolić.

Stanęliśmy trochę z boku, podrapaliśmy się po głowach i zaczęliśmy dochodzić do wniosku, że jeżeli mamy być zespołem do szybkiego reagowania i rozwiązywania nietrywialnych zadań, to musimy coś zmienić. Z pomocą przyszedł jeden z programistów, Tomek, który pokazał rozwiązanie, z którym ostatnio miał do czynienia. Opowiadał o tym jak w prosty sposób zbudować aplikację na NodeJs’ie z instancją MiniMongo pomiędzy serwerem a klientem, całość od razu (w paczce) udostępnia połączenie po websocketach i w zasadzie nie trzeba się niczym wysilać. To właśnie był MeteorJs. I właśnie wtedy się zakochaliśmy. To była miłość od pierwszego zakodowania.

Testowanie

Potem było już z górki, pierwsze projekty, pierwsze wdrożenia, potem dziesiąte, potem przestaliśmy już liczyć, aż wreszcie pierwszy w Polsce status oficjalnego partnera Meteora. To było coś wielkiego, coś co napawało nas dumą. Tym bardziej, że wszystkie projekty, które wdrożyliśmy w tej technologii okazały się sukcesem. Współpracowaliśmy z dziesiątkami agencji, w których dzięki wprowadzeniu Meteora udało się nam osiągnąć wyniki, dzięki którym dużo szybciej wytwarzaliśmy oprogramowanie niż wewnętrzy zespół korporacji.

Gdy tworzyliśmy nasz startup, to właśnie wybór tej technologii jako naszego rozwiązania zaważył, że tylko w przeciągu 1.5 roku zdobyliśmy prawie 20 nagród i nominacji, a z naszego rozwiązania skorzystały takie firmy jak Disney, Toshiba, IBM, czy Harvard.

Wracamy do maila

Wróćmy więc do maila. Czytam, że Meteor nie żyje i nie wierzę. Pracujemy od lat, nieprzerwanie. Wczoraj wypuszczono kolejną nowszą wersję, w której znów zaszły rewolucyjne zmiany. Dlaczego więc niektórzy uważają, że tak jest? Pewnie sposób na skierowanie do skorzystania z innych rozwiązań oferowanych przez firmę. Najpewniej tak, ale mimo tego natchnęło mnie to do refleksji, które stały się inspiracją do napisania tego artykułu.

Jak to się wszystko zaczęło.

Historia Meteora sięga roku 2011. Wtedy jeszcze pod nazwą Skybreak, został objęty inkubacją w jednym z najlepszych startupowych inkubatorów — YCombinator.

Kiedy Meteor startował większość stron po zatwierdzeniu formularza nadal przeładowywała swoją zawartość by wyświetlić zmiany. Chwile wcześniej wystandaryzowane XMLHttpRequest API był ostatnim krzykiem mody, a Jquery ogromnie popularne. Kiedy więc MeteorJs wprowadził możliwości wyświetlania i odświeżania danych w czasie rzeczywistym bez konieczności przeładowywania strony stało się to czymś rewolucyjnym i szybko zbierał coraz większe grono zwolenników. Przez te wiele lat Meteor przeszedł długą drogę i pojawiło się jego wiele, dopracowanych wersji. Wszystkie błędy, związane z bezpieczeństwem, są do tej pory łatane są w trybie natychmiastowym, co zwiększa poczucie stabilności rozwiązania.

Technologia ta otrzymała wielomilionowe dofinansowanie, które przyczyniło się do ogromnego skoku rozwojowego, oraz dała pewność, ze przez wiele lat nie zniknie ona z rynku.

Co w trawie piszczy?

Tak jak wspomniałem wcześniej Meteor działa w zasadzie z marszu. Wystarczy ściągnąć, zainstalować, wpisać 3 komendy w konsoli i mamy w pełni działającą instancję klient – serwer wraz z bazą danych i mechanizmami zmian treści w czasie rzeczywistym. Czyli na starcie zaoszczędziłem już kilka dobrych godzin na konfiguracji.

Kolejna rzecz, która ma ogromne znaczenie dla rozwoju technologii, to niesamowita społeczność tego rozwiązania, która gotowa jest cały czas budować, usprawniać i wdrażać a przy tym cały czas służyć pomocą osobom, które byłby zainteresowane skorzystać

Od kiedy MeteorJs daje możliwość pełnej i banalnie prostej integracji z ekosystmem NPM nie ma dla niego już rzeczy niemożliwych. W MongoDB – pojawiają się transakcje, Meteor integruje się oprócz BlazeJs’a także z: 

  • Reactem,
  • Angularem,
  • VueJs,
  • GraphQl,
  • czy Cordovą.

Na dzień 27.02.2018 posiada ponad 13100 pakietów i ponad 500000 unikalnych instalacji na całym świecie.

Taylor Otwell, twórca jednego z najbardziej popularnych frameworków w PHP Laravel, przytacza MeteorJs’a jako najbardziej popularny framework backendowy

twitter

A teraz część tylko dla programistów…

Dochodzą do tego niesamowite rozwiązania do deploymentu naszych aplikacji. Po pierwsze mamy Galaxy – oficjalny hosting MeteorJs, który działa po prostu niesamowicie., gdyż omijamy całkowicie proces konfiguracji środowiska. Z drugiej rozwiązanie MeteorUp, które za pomocą kilku komend umożliwia nam skonfigurowanie serwera (na którym ma stać nasze rozwiązanie) zbudowanie i umieszczenia aplikacji, bazy danych, nginxa wraz z gotowym certyfikatem SSL w kontenerach dockera i odpalenia, wraz z CI i automatycznym rollback’iem, całości na produkcji… łuff.

W przypadku budowania narzędzia, które ma być połączeniem serwisu internetowego, aplikacji mobilnej lub desktopowej w jednym, Meteor sprawdza się znakomicie. Podobnie jak dobudowanie kolejnych modułów do istniejącego rozwiązania, gdzie chcemy zwiększyć szybkość zapytań lub stworzyć warstwę frontową dla czegoś bardzo archaicznego.

I jak tego nie kochać?

Testowanie aplikacji

Także nigdy nie było prostsze. Testy jednostkowe to w zasadzie bułka z masłem. Testy zautomatyzowane całej aplikacji, dzięki webdriver.io i chimp.js jesteśmy w stanie stworzyć w kilka godzin. Podpinamy do tego PhantomJS (skryptową, bezgłową przeglądarka używaną do automatyzacji interakcji ze stroną lub aplikacją) i nie musimy się martwić, że przy kolejnej wrzutce, coś nie zadziała na produkcji. PhantomJs może zrobić zdjęcie, błędnie wyświetlanego lub obsługiwanego elementu, a nasze CI przesłać go wraz z logami (po stworzeniu integracji) jako alert, że coś poszło nie tak.

Konkluzja

Trendy wskazują, że rozwiązania Javascript’owe rosną w siłę. Wszystkie frameworki Jsowe zaczynają przeganiać inne technologie. Node.Js przeżywa swoją wiosnę, podobnie jak Meteor. Rozkwita, zmienia się i napędza nie tylko programistów, ale także firmy, które zdecydują się na wybranie tego rozwiązania.

Subscribe
Powiadom o
guest

0 komentarzy
Inline Feedbacks
View all comments

Pobierz moje darmowe publikacje

Zrozumieć Cyberbezpieczeństwo

Zrozumieć cyberbezpieczeństwo

Zaprezentowane w książce dane rysują krajobraz zagrożeń oraz pokazują, jak dramatycznie zmienił się on w ciągu ostatnich lat. Praktycznie każdy sektor publiczny i prywatny jest pod ciągłym atakiem hakerów, którzy za cel wybrali sobie kradzież danych, okupy lub zakłócanie działalności organizacji czy rządów.

MVP

Mini podręcznik przedsiębiorcy

E‑book, dzięki któremu zaoszczędzisz i dowiesz się jak zrealizować pomysł na biznes. Zarówno na początku swojej drogi, jak i wtedy gdy wdrażasz nowe rozwiązania w istniejącym przedsiębiorstwie. Metodologię opisaną w Mini Podręczniku Przedsiębiorcy możesz zastosować w różnych branżach i technologiach. Pokażę Ci jak to zrobić najefektywniej.