Facebook… ekhem, ekhem Meta wreszcie zdecydowała się zakończyć swoją dziwną relację z najpopularniejszą biblioteką do testów w JavaScript – Jest i oddać ją w ręce społeczności OpenJS. Poza tym miejsce miało Google I/O na którym ogłoszonych zostało kilka ciekawych nowinek. Rozsiądźcie się wygodnie i zapraszamy do lektury!
1. Jest trafia pod skrzydła OpenJS Foundation
Na przestrzeni ostatnich miesięcy o Jest mówiło się całkiem sporo i to nie tylko za sprawą wydanego ostatnio Jest 28 (o którym możecie przeczytać w 85 edycji naszego przeglądu). Za sprawą kilku komentarzy do Issues na Githubie sieć obiegły dyskusje na temat wsparcia dla biblioteki (a raczej jego braku) ze strony Facebooka Mety. Główny kontrybutor biblioteki – Simen Bekkhus – próbował bezskutecznie zakończyć rozkręcające się dyskusje twierdząc, że brak wsparcia ze strony dużych korporacji jest jego świadomą decyzją. Pobieranie stałej pensji sprawiłoby, że czułby się on zobligowany do pracy nad Jest, który traktuje jako projekt poboczny.
Co ciekawe, Jest zbiera fundusze poprzez platformę Open Collective. Od początku 2018 roku projekt zgromadził 80 000$, a budżet na ten rok szacowany jest na 15 000$. Uwagę zwraca również fakt, że prawie 25% funduszy pochodzi z Facebook Open Source i spływają one w regularnych miesięcznych ratach w wysokości 1000$. Może i nie mamy tutaj do czynienia z typową relacją pracodawca-pracownik, ale ciężko udawać, że nie jest to pewna forma “pensji”.
Jest powstał w 2011 przy okazji przepisywania Facebookowego Chatu do JavaScriptu. Projekt okazał się na tyle skomplikowany, że niezbędne okazało się dodanie do niego Unit Testów. W 2014 roku projekt został otwarty dla świata i do 2016 roku był aktywnie rozwijany przez firmę. W 2016 roku opiekę nad projektem przejął zespół prowadzony przez Christopha Nakazawa, a w 2018 roku Jest zaczął gromadzić środki na wspomnianej wcześniej platformie Open Collective. Wraz z upływem lat aktywny udział Mety coraz bardziej malał, aż do teraz, kiedy powiązania między firmą a projektem mają już tylko charakter historyczny.
W minionym tygodniu Meta postanowiła wreszcie uporządkować swoją relację z Jest i przekazać projekt fundacji OpenJS. Pod skrzydłami organizacji znajdują się już między innymi takie projekty jak jQuery, Node.js, Electron, AMP, czy webpack. Mówimy tu o naprawdę imponującym portfolio. Na przestrzeni kolejnych miesięcy podejmowane będą akcje niezbędne do zamknięcia tranzycji, takie jak transfer repozytorium czy oddanie domeny internetowej. W samym projekcie raczej niewiele się zmieni, bo Meta od dawna nie uczestniczyła w rozwoju Jest i większość kontrybucji pochodziło od niezależnych deweloperów.
Transfer Jest do niezależnej fundacji rozpoczął w internecie kolejną równie ciekawą dyskusję – czy projekty takie jak React i React Native również kiedyś czeka podobny los. Na ten moment raczej nic tego nie zapowiada, bo obie wspomniane inicjatywy są ściśle związane z produktami Mety, a firma inwestuje w nie sporo zasobów. W zależności od tego, po której stronie barykady stoicie jest to dla Was wiadomość dobra (bo za Waszym ukochanym frameworkiem stoi duża firma z zasobami), albo zła (bo za Waszym ukochanym frameworkiem stoi duża firma, która może z nim zrobić co tylko zechce). Ja ostatecznie jestem chyba w tej pierwszej grupie, bo nie wyobrażam sobie tak dynamicznego rozwoju Reacta bez dużych funduszy, jednolitej wizji i szybkiej weryfikacji pomysłów w szerokim portfolio produktów Mety.
Źródła:
https://engineering.fb.com/2022/05/11/open-source/jest-openjs-foundation/
https://openjsf.org/blog/2022/05/11/openjs-foundation-welcomes-jest/
https://news.ycombinator.com/item?id=30168241
https://github.com/facebook/jest/pull/11529#issuecomment-1027152470
https://github.com/facebook/jest/pull/11529#issuecomment-1027405616
https://opencollective.com/jest
Zainstaluj teraz i czytaj tylko dobre teksty!
2. Google I/O i Flutter 3
W minionym tygodniu miała miejsce coroczna konferencja Google I/O, podczas której firma z Mountain View zwykle zapowiada nowości zmierzające do portfolio firmy. Wśród nowości tradycyjnie już znalazło się kilka mocno frontendowych, z których największą jest wydanie Fluttera 3.0. Flagowy międzyplatformowy framework od Google jest już z nami prawie 3 lata i jak na razie ciągle znajduje się na fali wznoszącej. Jeśli wierzyć Google Trends, to Flutter dawno przegonił swojego największego konkurenta w postaci React Native. Jeśli spojrzeć na bardziej wiarygodne źródło w postaci StackOverflow Developer Survey 2021, to walka jest dużo bardziej wyrównana. Bez względu na to kto rzeczywiście wysuwa się na czoło tej rywalizacji, wygląda na to, że Flutter znalazł swoją niszę i zostanie z nami na dłużej.
Flutter 3 to przede wszystkim nowości dotyczące aplikacji desktopowych. Stabilnego wsparcia doczekał się macOS (zarówno w wersji z procesorami Intela jak i M1) oraz Linux i to wokół tych platform kręci się większość zmian. Osobiście zastanawia mnie tylko jedno – czy aplikacje desktopowe naprawdę nadal są “tym czymś” w 2022 roku? Może jest to efekt mojej bańki informacyjnej, ale coraz więcej aplikacji przenosi się do weba, tymczasem rynek frameworków dla aplikacji desktopowych jest przepełniony bardziej niż kiedykolwiek (Flutter, React Native, Electron, Jetpac Compose, Swift UI i długo można by jeszcze wymieniać).
Wśród nowości w Flutter 3 warto nadmienić również wsparcie dla Foldable Phones oraz całą masę usprawnień wydajności. Jeśli na co dzień korzystacie z Fluttera to po więcej odsyłam Was do notatki towarzyszącej wydaniu, z której na pewno wyciągniecie interesujące Was szczegóły.
Google I/O to również wydarzenie na którym często zapowiadane są ciekawe nowości zmierzające do Angulara czy Chrome. Niestety tym razem na swoim radarze nie wyłapałem ciekawych zapowiedzi, o których nie wiedzielibyśmy już przed konferencją. To natomiast nie oznacza, że na Google I/O nie działo się nic ciekawego w tych tematach. Wśród ciekawych prelekcji mających miejsce na konferencji wymienić muszę przynajmniej te podsumowywujące nowości zmierzające do CSS-ów, przeglądarek oraz Angulara. Jeśli macie trochę więcej czasu to gorąco polecam.
Źródła:
https://medium.com/flutter/whats-new-in-flutter-3-8c74a5bc32d0
https://www.youtube.com/watch?v=w_ezWG1yKQQ
https://insights.stackoverflow.com/survey/2021#technology-most-popular-technologies
https://trends.google.com/trends/explore?date=today%205-y&geo=PL&q=flutter,react%20native
https://io.google/2022/program/?q=1cf58852-f96e-4549-92c4-f02f47b941d7