Kiedy Google i Microsoft na chwilę przestają się kłócić, powstają z tego piękne rzeczy
Project IDX to zupełnie nowe środowisko programistyczne od Google’a. Będzie teraz oferowane jako rekomendowane do tworzenia aplikacji dla platform Web, Android, a także iOS. Jest to tym ciekawsze, że to tak na dobrą sprawę nieco zmodyfikowany produkt Microsoftu.
Microsoft i Google trudno nazwać w jakimkolwiek ujęciu sojusznikami. To dwóch zaciekle rywalizujących ze sobą oponentów, którzy w konkurencji między sobą nieraz posuwali się i do mało etycznych działań. Piękno świata informatyki polega jednak między innymi na tym, że ów świat rozwija się szczególnie dobrze, kiedy zachowana jest zasada interoperacyjności. A więc wzajemnej zgodności różnych systemów komputerowych. Rywale, chcąc nie chcąc, w niektórych kwestiach są zmuszeni do współpracy.
Czasem też wspomniana współpraca jest może nie tyle podyktowana branżowymi informatycznymi standardami, co rynkowymi realiami. Weźmy za przykład platformę Chromium. To open-source’owe środowisko uruchomieniowe dla witryn internetowych i aplikacji webowych. Jest tak popularne i powszechne wśród użytkowników, że staje się powoli nieformalnym standardem, obok bardzo blisko spokrewnionego z nim Apple WebKit.
Czytaj też:
Chromium to serce, między innymi, przeglądarki Chrome. Ale również i Microsoft Edge, a sam Microsoft wespół z Google’em (i innymi partnerami) zgodnie Chromium rozwijają. Technologia pozostaje otwarta, udokumentowana i dostępna. Taka unifikacja i standaryzacja znacząco ułatwiają życie programistom, na czym korzystają wszyscy. W tym wzajemnie ze sobą konkurujące Microsoft i Google. Chromium współtworzą też, między innymi, Opera, Brave i Vivaldi. Chromium w nieznacznym uproszczeniu to fork technologii Apple’a, co dodatkowo upraszcza sprawy.
Nieprzypadkowo omówiliśmy Chromium. Bo wygląda na to, że Microsoft i Google dogadali się również w całej reszcie. Czyli w kwestii narzędzi deweloperskich.
Google do tej pory oferował rozmaite IDE (Integrated Development Enviroment, czyli środowisko programistyczne) - w tym Android Studio czy Google Cloud IDE. Nie są to jednak szczególnie udane narzędzia. Przynajmniej, jeżeli wierzyć opiniom w ankietach przeprowadzanych wśród zawodowych deweloperów na Stack Overflow czy GitHubie. Google właśnie zaprezentował nowe, które prawdopodobnie docelowo zastąpi wszystkie dotychczasowe. Jego nazwa to Project IDX.
Project IDX pozwala na tworzenie aplikacji desktopowych i mobilnych na systemy Android i iOS oraz dla Weba. Współpracuje z Angular, Flutterem, Next.js, Reactem, Svelte, Vue, JavaScript i Dart. Wkrótce ma się też pojawić obsługa Pythona, Go i innych. To aplikacja webowa, uruchamiana w przeglądarce, a więc zgodna z niemal każdym możliwym sprzętem deweloperskim.
Tyle że Project IDX to niezupełnie dzieło Google’a. To nakładka na open-source’owe IDE o nazwie Code OSS. Nazwa ta, domyślam się, jest obca większości czytelników Spider’s Web. Część zapewne jednak słyszała o Visual Studio Code (nie mylić z Visual Studio). To cieszące się bardzo dużym uznaniem IDE od Microsoftu, wykorzystywane bardzo szeroko w branży, często do produkowania kodu niezwiązanego z żadnym microsoftowym produktem. Jest lekkie, otwarte, multiplatformowe i modułowe. Otóż Visual Studio Code jest tym dla Code OSS, czym Chrome jest dla Chromium.
Code OSS to zbudowany głównie przez Microsoft open-source’owy fundament Visual Studio Code. Wracając jeszcze raz do analogii z przeglądarkami, Microsoft Edge można określić jako Chrome, ale skonfigurowany pod usługi Microsoftu zamiast Google’. Czyli Project IDX można określić jako Visual Studio Code, ale skonfigurowany pod Google’a. Czyli pod Google Firebase czy Google Cloud czy google'owego czatbota LLM zamiast GitHub Copilot.
Trudno o istotniejszą platformę aplikacyjną niż Web. A Google i Microsoft zaczynają na miękko przejmować nad nią kontrolę.
Wspomnianą miękkość i wentyl bezpieczeństwa zapewnia open-source’owy charakter obu przedsięwzięć. Choć Chromium to przede wszystkim projekt Google’a, a Code OSS przede wszystkim Microsoftu - to w każdej chwili społeczność programistów może stworzyć na jej podstawie coś własnego, być może nawet całego forka (rozgałęzienie w rozwoju bazy kodowej), jeśli będzie to leżało w jej interesie. A to czyni sytuację bardzo ciekawą. Dwie z grona największych firm IT (i nie tylko IT) na świecie współtworzą zarówno narzędzie do odbioru i przetwarzania aplikacji (Chromium), jak i ich kreacji (Code OSS).
Zaangażowanie Google’a w czynny rozwój Code OSS rodzi duże nadzieje. Łatwo deprecjonować znaczenie Microsoftu w projekcie Chromium, mając na uwadze rynkowe udziały przeglądarki Edge. Tym niemniej jednym z atutów wspólnego rozwoju dużych open-source’owych projektów jest fakt, że chcąc ulepszyć swój produkt dana firma ulepsza też produkty partnerów. Microsoft wprowadził tysiące korzystnych zmian do Chromium, chcąc ulepszyć Edge’a - na czym skorzystały Chrome, Opera i reszta.
Wkład Microsoftu to przy tym nie tylko integracja z technologiami tożsamymi z Windows, dzięki którym prawie każda przeglądarka Chromium potrafi się integrować z mechanizmami Windows Hello, Windows Defender Application Guard czy PlayReady DRM. To również nowe funkcje użytkowe (przewijalny pasek kart, podgląd kart, wyszukiwarka kart, interfejs kart pionowych), nowe funkcje ułatwień dostępu (funkcje odczytu na głos, immersyjnego czytnika, rozwiązywania wzorów matematycznych) czy wreszcie, a może przede wszystkim, rozmaite optymalizacje w zakresie wydajności i bezpieczeństwa. Nieprzypadkowo Chrome dla Windows przestał pożerać ogromne ilości zasobów, odkąd Microsoft współtworzy Chromium.
Teraz to Google będzie ulepszać na rozmaite sposoby Code OSS (ten jest na MIT License). Część usprawnień dotyczyć będzie wyłączni Project IDX. Część jednak, siłą rzeczy, wróci do Code OSS i trafi do Visual Studio Code i innych bazujących na tym fundamencie IDE. Gdyby tylko giganci IT potrafili tak pięknie współpracować również i przy reszcie projektów...