Maar toen OS X uitkwam werd Java wel degelijk door Apple gemarket als 'first class citizen': Apple ging de Java VM bouwen, en het idee was bij veel devs dat Java net zo'n rol zou krijgen als .NET op Windows:
Dat was bij de introductie van OS X nog mee-varende op de gedachte dat Java een zeer belangrijke rol op de desktop zou gaan spelen. Alle desktop Java apps die er toen zogenaamd zouden gaan komen, zouden dan meteen op OS X kunnen draaien.
Zo'n rol als .NET op Windows klopt trouwens niet helemaal. Toen OS X uitkwam waren er net beta versie van .NET. Pas een goed jaar later kwam .NET 1.0 (wat qua desktop apps ook niet echt een instant hit was, daar mensen nog een flinke poos MFC/C++ of Win32/c bleven gebruiken).
Om verschillende redenen echter zijn die desktop Java apps er eigenlijk nooit echt gekomen. De plannen waren er wel degelijk. Legendarisch is natuurlijk de Java versie van Wordperfect:
http://drdobbs.com/java/184415588 , maar zoals we nu weten is dat nooit een success geworden. Java was destijds te traag, en de GUI tool-kit had te veel quirks op diverse platforms. Ik kan me goed herinneren dat ik grafische Java 1.1 aps (AWT) toch flink moest tweaken om op al onze test platforms goed te werken (OS 9, OS X, Windows 95, Windows 2000 en Solaris something).
(aan de andere kant, voor de grap start ik nog wel eens een een oude Java 1.1 app die ik toen gemaakt had op, en op de nieuwste hardware, OS en JVM draait het nog helemaal correct. Dit kan ik helaas niet van al mijn Windows/MFC apps van destijds zeggen)Maar in de loop der tijd werd wel duidelijk dat Apple maar weinig aandacht besteedde aan hun Java VM
Dit omdat de gigantische desktop apps markt die Apple en anderen ooit voorzagen er nooit gekomen is. Met stipt de grootste gebruikers van Java op OS X zijn developers die er Eclipse of Netbeans mee draaien en er serverside Java EE applicaties mee ontwikkelen.
Dit is een markt waar Apple geen behoefte aan heeft om actief te ondersteunen. Het enige puntje van belang dat ze hebben in Java is dat handjevol Java apps die wel door consumenten gebruikt worden en het feit dat developers relatief gezien vrij zeldzaam blijven en dat bijna elk platform die graag wil binnenhalen. Java developers op OS X gaan gemiddeld gezien natuurlijk vaker spontaan een Cocoa/Obj-c app ontwikkelen dan Java developers die op Windows zitten.
Hoe meer en rijkere API's Cocoa krijgt, hoe meer het op Java en .NET begint te lijken.
Klopt, het is grotendeels nu steeds meer aan het worden wat Java initieel heeft ingezet, maar het Java desktop schip heeft de haven amper verlaten, terwijl het Cocoa schip nu met volle zeilen midden op de oceaan vaart. Dat is dus nogmaals wat ik bedoel met dat Cocoa niet in Java's vaarwater zit. Hooguit kun je zeggen dat het in Java's "beoogde" vaarwater zit.
Waar ligt dan de toekomst van Java?
Sowieso nog steeds de serverside. Daar is het al heer en meester en ik zie dat alleen maar meer worden i.p.v. minder. Zoals gezegd, Facebook en Twitter die steeds meer Java gaan gebruiken en in NL b.v. iets als marktplaats dat op Java overgaat. Er is ook enorm veel ontwikkeling in deze sector voor Java. Kijk alleen eens naar wat Java EE 6 voor nieuwe dingen heeft, wat er op stapel staat voor Java EE 7, wat voor concurrentie er is (Spring 3.x, Wicket, GWT) en dan nog eens het hele NOSQL, document store, key/value store verhaal dat ook huge is op Java.
Daarnaast heb je nog een markt waar Java een beetje een verstopt succes is, en dat is in de embedded sector in de vorm van BD-J (wat helaas wel een beetje obscure, antieke JVM is, maar toch).
Of Java nog terug kan komen met Applets en op de desktop valt te bezien.
JavaFX 2.0 is in ieder geval een enorme stap in die richting en vanwege de vele kritieken op Flash ligt er op de RIA markt heel misschien weer een kansje voor Java. Vanaf JDK6u10 is er op dat vlak veel verbeterd en dingen die bij de oude Applets voor veel problemen zorgde (grote JVM download, wazige updater die tien-tallen verschillende versies op je systeem zette, trage opstart) zijn nu veel beter geregeld.
[Reactie gewijzigd door flowerp op 23 juli 2024 10:40]