Pisząc o przejściu Maców na ARM zwany „Apple silicon” wielokrotnie wspominałem, że zmobilizuje to inne firmy do działania. I oto są pierwsze tego dowody. Microsoft usilnie pracuje nad Javą (OpenJDK) dla Mac z Apple silicon.
Java to zło, ale na razie konieczne
Java została wymyślona jako uniwersalna platforma i język, do tworzenia aplikacji, które bez modyfikacji miały być uruchamiane na różnych platformach wyposażonych w wirtualne maszyny Javy. Z tego powodu Java jest często używana, gdy program ma wykonywać się na wielu platformach. Niestety powiedzenie „co jest do wszystkiego, to jest do niczego”, często sprawdza się i w przypadku Javy.
Tak czy siak, brak maszyny wirtualnej Javy na jakiejś platformie może być kłopotliwe. Apple z racji sporych problemów z bezpieczeństwem i ciągłymi aktualizacjami łatającymi luki w Javie, zaprzestał dodawania jej do systemu. Jednak jest ona oczywiście na macOS dostępna z niezależnych oficjalnych źródeł.
Java na ARM i Apple silicon
Microsoft, Azul i inni członkowie społeczności współpracują przy przenoszeniu OpenJDK na macOS i Windows na chipsecie AArch64 (ARM). Prace te zbiegają się w czasie ze zbliżającą się dostępnością komputerów Mac opartych na Apple silicon. Współpracujące firmy chcą, aby udostępnienie OpenJDK na Maki z ARM nastąpiło w momencie pojawienia się ich na rynku.
W zespole Microsoftu główną rolę odgrywa Monika Beckwith, ekspert od wydajności JVM. Beckwith poprzednio zajmowała się architekturą wydajności runtime dla ARM i miała kluczowe znaczenie dla rozwoju kolektora śmieci G1 w Oracle i Sun. Microsoft wcześniej wydał OpenJDK na Windows ARM64 z różnymi dodatkami, które zostały udostępnione społeczności open source.
Zapowiedź i rychłe pojawienie się Maców z Apple silicon przyśpieszyła działania innych firm związane z platformami opartymi na ARM. Microsoft podaje, że znaczna część kodu OpenJDK dla Windows ARM i Apple silicon jest wspólna, co ułatwia jednoczesny rozwój Javy na obie platformy. Zyska Apple, ale i Microsoft, którego Windows na ARM może w końcu zacznie nabierać znaczenia. Na pohybel Intelowi.
Ja się zastanawiam dlaczego pracuje nad tym Microsoft, a nie Oracle.
Bo Microsoft ostatnio lansuje się jako lider Javy – ciekawe co sp…
Microsoft jest jednym z.
Fajnie – będę mógł mieć LibreOffice na AppleSilicon.
„Niestety powiedzenie „co jest do wszystkiego, to jest do niczego”, często sprawdza się i w przypadku Javy.” – sorry, ale muszę to powiedzieć. Takie stwierdzenie to albo wyraz ignorancji albo sekciarstwa… Może jakiś rzeczowy argument pozwoli mi zmienić zdanie?
Jaromir jest programistą-hobbystą i stąd takie stwierdzenia.
Ciekawe, że backend w zaawansowanych serwisach np. dla fin-tech jest przeważnie w Javie – takie są moje obserwacje. Często jest też .net, ale Swift’a czy uwielbianego przez Jaromira Obj-C tam nie ma.
I nie mówię tu tylko o systemach, rozwijanych od lat, tylko też o nowych gdzie wybór technologi jest otwartym tematem. Na froncie się to bardzo zmienia, ale backend to przeważnie jedna z tych dwóch technologi jako najbezpieczniejsze / najbardziej stabilne.
Jasne. Cenię sobie aktywność Jaromira. Zrozumiałe, że pewne rzeczy lepiej nam leżą inne mniej – Jaromirowi Java wyraźnie nie i takie Jego święte prawo 😉
Pozdrowienia
Dziękuję!
Co do Javy, to jest jeszcze kilka osób podzielających moje zdanie. Masowość stosowania nie jest wyznacznikiem „jakości”. A Swift rośnie w siłę. Zresztą ja najchętniej to C programuję, ale bez tego całego s… z obiektami (struktury są ok)
No cóż – nie mówię o masowości typu PHP, czy JS gdzie większość używa dlatego, że są po prostu proste. Mówię o wymagających systemach z dużym budżetem.
Czy Swift rośnie w siłę? No nie wiem. IBM trochę jest w odwrocie…
OK. Ale pamiętajmy, że java jest popularna nie ze względu na swoją przenośność i dostępność na desktopach, ale ze względu na zastosowania serweowe. I z tego powodu jest potrzeba posiadania javy na desktopach/laptopach – żeby programiści mogli tworzyć na swoich laptopach aplikacje które docelowo działają na serwerach.
Chyba sie nie pomylę stwierdzając, że większość internetu w który klikamy działa na Javie: Netflix, Zalando, Allegro, Amazon….
A aplikacje desktopowo w Javie? Można, ale po co.