Deno to jeden z ciekawszych projektów rosnących w środowisku JavaScript. W czerwcu Deno Company zgarnęło 21 milionów dolarów na rozwój swojej chmury, a niespełna kilka tygodni temu opublikowany został pierwszy framework dedykowany dla Deno. W minionym tygodniu firma podzieliła się funkcjonalnościami zmierzającymi do ich środowiska uruchomieniowego i zdecydowanie jest na czym zawiesić oko.
Big changes are coming to Deno
Gdybym miał wymienić projekty, o których w naszych przeglądach piszemy najczęściej, to zdecydowanie byłby wśród nich Deno. W minionym tygodniu zespół odpowiedzialny za jego rozwój podzielił się ze społecznością planami na najbliższą przyszłość. Co tu dużo mówić – będzie się działo! Po wielu latach odcinania się grubą kreską od npm’a, wreszcie dostaniemy kompatybilność z najpopularniejszym managerem paczek JavaScript. Do tego należy spodziewać się sporej poprawy wydajności serwera http.
Deno i npm? Jeśli pamiętacie historię projektu, to prawdopodobnie drapiecie się teraz po głowie. Historia Deno zaczyna się bowiem w 2018 roku, kiedy to jeden z twórców Node.js postanowił naprawić błędy popełnione przy jego projektowaniu. Jednym z większych wymienionych wtedy błędów było zastosowanie node_modules i stworzenie npm’a. Jak to się stało, że 4 lata później Deno jednak dostanie wsparcie dla npm?
Zacznijmy od tego, że wsparcie dla npm będzie tylko częściowe. Deno nie doczeka się bowiem katalogu node_modules, a biblioteki nadal zaciągane będą w “przeglądarkowy” sposób z wykorzystaniem cache’a. Jedyne co w zaproponowanym rozwiązaniu może martwić, to jeszcze większe skomplikowanie systemu importów w JavaScript.
import express from "npm:express@5";
Jeśli szukamy przyczyn otwarcia się na npm, to pozwolę sobie tutaj postawić moją prywatną diagnozę. W marcu 2021 roku powstało Deno Company zasilone prawie 5 milionami dolarów od niezależnych inwestorów. W czerwcu tego roku projekt zdobył kolejną rundę finansowania tym razem opiewającą aż na 21 milionów dolarów.
Na samym rozwoju silnika uruchomieniowego JavaScript ciężko zarabiać, dlatego firma miała skupić się na rozbudowie infrastruktury chmurowej. Efektem ponad roku prac jest Deno Deploy, czyli infrastruktura Edge Functions, które mogą uruchamiać Deno. Projekt znalazł już pierwszych komercyjnych klientów w postaci Supabase (otwartoźródłowa alternatywa dla Firebase) czy Netlify, którzy swoje Edge Functions postanowili oprzeć właśnie o Deno Deploy.
Zapewne domyślacie się do czego zmierzam. Wraz z zewnętrznymi inwestorami i klientami przychodzą oczekiwania wzrostu. Deno wokół idei lepszego Node.js zbudował naprawdę dużo. Wydaje się jednak, że bez sensownej integracji z npm dalszy rozwój musiałby zwolnić.
Drugą dużą nowością zmierzającą do Deno jest kompletnie nowy serwer http, który ma być najszybszym tego typu serwerem dla JavaScript. Pracę nad tą funkcjonalnością na pewno trwały już dużo wcześniej, ale wydanie osobnej notki na ten temat w mojej głowie mocno powiązaney jest z szumem jaki pojawił się w ostatnich tygodniach wokół projektu Bun.
Jeśli interesują Was szczegóły, to tej technologii poświęciliśmy całą sekcję w 99 edycji naszego przeglądu. Dla wszystkich zapominalskich i leniwych przypomnę, że jest to rzekomo szybsza alternatywa typu drop-in dla Node.js. Oprócz wydajności, Bun oferuje również kilka miłych funkcjonalności takich jak dużo szybsza alternatywa dla npm czy możliwość tworzenia makr (tj. kodu generowanego podczas kompilacji z dostępem do drzewa AST).
Nie wiadomo jeszcze ile przyjdzie nam poczekać na kolejną wersję Deno, ale ja już nie mogę się doczekać. W międzyczasie zespół rozwijający projekt postanowił zapoczątkować tak zwane “Office Hours”. Będą to cotygodniowe spotkania na których będziecie mogli wprost zadać gnębiące Was pytania. Jeśli interesują Was szczegóły, to po więcej zapraszam do źródeł.
Źródła:
Zainstaluj teraz i czytaj tylko dobre teksty!
NativeScript Preview 2.0
NativeScript to narzędzie umożliwiające tworzenie natywnych mobilnych aplikacji przy użyciu JavaScriptu. Oryginalnie był on Angularową alternatywą dla React Native, jednak z biegiem lat doczekał się wsparcia dla wszystkich znaczących frameworków (Angular, Vue, React, a nawet Svelte!). Dziś nie będziemy jednak pisać o samym NativeScript, a o NativeScript Preview 2.0. Jest to bowiem narzędzie, które w bajecznie prosty sposób umożliwia zdalne uruchomienie natywnej aplikacji.
Proces zdalnego uruchamiania aplikacji przy pomocy NativeScript Preview 2.0 podzielić należy na dwa kroki. Najpierw pobieramy ze sklepu Play lub AppStore aplikację od twórców NativeScript. Następnie w konsoli uruchamiamy odpowiedni skrypt, skanujemy wygenerowany QR Code i voila! Przed naszymi oczami pojawia się działająca natywna aplikacja. Co więcej, jeśli w IDE modyfikujecie kod aplikacji automatycznie odświeży się on w aplikacji.
Nowy system preview przynosi dwie nieoczywiste możliwości. Po pierwsze przy jego pomocy możliwe będzie zbudowanie aplikacji iOS bez posiadania urządzenia z MacOS. Po drugie, możliwe będzie proste udostępniane deweloperskiej wersji aplikacji na przykład na potrzeby demo.
To jeszcze nie koniec nowości. NativeScript we współpracy z StackBlitz przygotował szablony przy pomocy których cały opisany powyżej proces zamknięty jest w przeglądarce. Gdyby kilka lat temu, ktoś powiedział mi pisze właśnie natywną aplikację w przeglądarce, a efekty podgląda na nie połączonym z komputerem telefonie, to słowo daję uznałbym go za szaleńca. No cóż, przyszłość jest dzisiaj.
Niestety na zakończenie do tej beczki miodu muszę wrzucić jeszcze łyżkę dziegciu. Aby nowe preview działało poprawnie, nasza aplikacja może korzystać tylko ze skończonego zbioru natywnych pluginów. Pozostaje tylko liczyć na to, że twórcy NativeScript na bieżąco będą dbać o uaktualnianie tej listy.
Źródła:
https://blog.nativescript.org/nativescript-preview-announcement/
Zainstaluj teraz i czytaj tylko dobre teksty!
Bonus: meet.js summit
meet.js to ogólnopolska marka, która branduje meetup’y w całej Polsce (osobiście regularnie pojawiam się na tych organizowanych w Krakowie). Kiedy odezwali się do nNas w sprawie współpracy przy organizowanej przez nich konferencji, nie mieliśmy wątpliwości, że będzie to coś co Was zainteresuje.
Jeśli lubicie JavaScript (gdybyście nie lubili, to raczej by Was tutaj nie było) i równocześnie lubicie pomagać (a kto nie lubi!), to w październiku odbędzie się konferencja meet.js summit, z której zyski zostaną przekazane na cele charytatywne. Konferencja będzie miała miejsce w Poznaniu 26 września i niestety nie ma możliwości podłączyć się do niej zdalnie (z drugiej strony będzie to unikalna okazja, żeby poznać innych dziwaków lubiących pisać skrypty w Javie). Wejściówki kosztują zaledwie 99 PLN, a w agendzie znajdziecie kilka fajnych tematów dla fanów nowości (na zachętę wymienię tutaj Building Fullstack Apps in Record Time with Blitz.js i React Remixed).