Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 32 reacties

Sun heeft waarschijnlijk een manier gevonden om Java op de iPhone te kunnen draaien. Het bedrijf verwacht dat phoneME als community effort geschikt zal worden gemaakt voor de smartphone, zoals dat al gedaan is voor de Nokia N800.

Terrence Barr, senior staff engineer van Sun, verwacht dat Java-ontwikkelaars met behulp van de software development kit van de iPhone een poging zullen doen om de opensourceversie van Java geschikt te maken voor de smartphone van Apple, schrijft InfoWorld. Volgens Sun zou vooral phoneME een aantrekkelijke kandidaat voor de iPhone zijn. PhoneME is een opensourceversie van Java die specifiek voor mobiele apparaten ontwikkeld wordt.

Volgens InfoWorld dringen Java-ontwikkelaars er al een tijd op aan om Java op de iPhone te kunnen draaien. Sun staat uiteraard achter de ontwikkelaars, maar Apple zou nooit iets gezien hebben in zulke initiatieven. Rich Sands, community marketing manager van Java Platform Standard Edition, gaf te kennen dat de opensourceversie van Java een succes is. Dat moet onder andere blijken uit het uitblijven van forks: tot dusverre heeft nog niemand besloten om een eigen variant van het open platform te bouwen.

Nog voordat de iPhone daadwerkelijk verkrijgbaar was, was al bekend dat Apples mobiele telefoon geen ondersteuning kende voor Adobes Flash en Suns Java. Dit zou betekenen dat een site als YouTube niet gebruikt kon worden. Apple heeft met deze specifieke site echter al een overeenkomst gesloten om de Flash-films om te zetten in h.264-films, zodat ze alsnog via de YouTube Player op de iPhone bekeken kunnen worden.

Moderatie-faq Wijzig weergave

Reacties (32)

Apple heeft ervoor gekozen om Java en Flash applicaties niet toe te staan op de iPhone omdat het nooit echt een naadloze ervaring is voor de eindgebruiker en dat geldt met name voor Java (inladen van applets). Via de developer site van Apple zie je dat men wil dat AJAX-achtige applicaties voor de iPhone ontwikkeld worden, dus applicaties die Javascript gebruiken om opdrachten naar de server te verzenden en om de respons weer te verwerken.

Ik vind het een logische actie, kom zelf nog amper Java applets tegen op internet en als ik ze toch nog eens tegenkom, heb ik vaak niet het geduld te wachten tot een applet is ingeladen. Persoonlijk vind ik Java het meest geschikt voor het ontwikkelen van applicaties op de server die geen grafische interface hebben, op deze manier werd het ook gebruikt bij een voormalig werkgever van me (grote internationale bank) en die manier van werken bleek erg goed. Persoonlijk vind ik het dus een goede en begrijpelijke keuze van Apple.

Flash zou echter nog wel een plaatsje moeten hebben op de iPhone naar mijn mening gezien het tegenwoordig toch wel erg veel gebruikt wordt op internet, zoals bij YouTube, Google Video, Flash Games, etc... Hopelijk voegt Apple in de toekomst nog eens Flash support toe aan de iPhone.
Volgens andere bronnen, heeft Apple geen Java in de iPhone gestopt omdat een iPhone te weinig RAM bevat, waardoor een volledige Java SE draaien nogal moeilijk is. Alhoewel JavaME zeer weinig geheugen nodig heeft.

Ik denk dat de echte reden is dat Steve Jobs meer geld via iTunes wil verdienen en de applicaties zelf wil kunnen uitbrengen/controleren. Wel frappant, dat veel leveranciers meer richting open source gaan, Apple juist meer de andere kant opgaat.

[Reactie gewijzigd door Paridaen op 11 november 2007 23:16]

zou het miss kunnen dat Apple aan een eigen oplossing bezig is voor RIA's?
Microsoft heeft XAML, Adobe heeft Flex, Sun heeft JavaFX. Lijkt me sterk dat Apple niet zou willen meedingen in de strijd om web 2.0 / 3.0

edit: typo

[Reactie gewijzigd door Keybern op 11 november 2007 11:53]

Java IS NIET Applets.

Applets zijn oud lelijk en traag.
Java ME komt met zogenaamde MIDlets, waarschijnlijk heb je zelf alwel eens een midlet gedraait zonder dat je het wist. Veel spelletjes op mobieltjes zijn namelijk midlets.
Ach, iPhone kan al lang Flash draaien. In Hamburg en San Francisco labs kan je al een build van de Flash Player voor de iPhone vinden ;)Alleen Apple wilt er gewoon niet aan ze zijn pro Quicktime en Core animation. Daarom blijft men bij Adobe ook zeggen dat je bij Apple moet wezen als je Flash wilt hebben op de iPhone!

[Reactie gewijzigd door alienfruit op 10 november 2007 19:32]

Ja mischien kunnen we server based transcoden naar quicktime formaat/ core animation. Of iemand maakt toch stiekem een flash plugin/player for de iphone browser. Welke labs waren dat precies... }>
Wat is dat nu voor bs? de opkomst van java op de desktop & mobile device is nog niet fatsoenlijk van de grond, java staat om sommige vlakken voor op dot net en is op de meeste andere gelijkwaardig, er zijn perfecte desktop applicaties mee te bouwen.

Op de iPhone is het zelf mogelijk om door de arm chip native java bytecode te laten uitvoeren, deze chips zijn er speciaal voor ontworpen en je hebt dus amper overhead.

Wanneer android ook nog bij de op de markt verschijnt en je wil een app naar de telefoons brengen is het toch eenvoudig dat je dit in één taal kan doen en zonder recompile op beide phones draaien? Verschillende resoluties los je op met layoutmanagers, een principe dat ze nu nog maar pas beginnen toevoegen aan VS 2008 beta en al meer dan 10 jaar standaard practice is bij java.
dat zeggen ze als sinds het begin van java meer dan 10 jaar geleden. maar feit is dat native apps betere performance hebben en een rijkere grafische interface. java is leuk voor faceless serverside code (cobol space). zelfs een interface op basis van javascript en xml en html heeft java verslagen (ajax). als java zo goed was zou de hack ajax nooit gewonnen hebben van java in client side space. java is over-the-hill.

[Reactie gewijzigd door nose_breather op 10 november 2007 19:18]

Das wel heel overdreven, eclipse rcp komt hier toch echt wel van de grond, ik heb ook al 2 commercieele applicaties afgeleverd, k'weet dat de fortis bank op eclipse rcp draait, een hele hoop van de adobe tooling draait op het eclipse platform flex, air, ... borland heeft een hoop op eclipse platform, de nieuwe lotus notus, enz. Kijk ook maar eens naar jmonkeyengine (JME)

Er zijn ook swing rich clients hoewel ik zelf geen enorme swing fan ben kunnen er toch ook al heel wat rich clients mee geschreven worden, zelfs filthy rich als je de man achter de UI van het google android project mag geloven :)

Hoewel ajax idd heel populair is is het zeer clumsy om mee te werken, voor mijn ajax werk gebruik ik een java wrapper namelijk gwt van google, uiteindelijk doe ik al mijn werk in java en krijg ik op het eindje een leuk hoopje javascript voorgeschoteld, als ik code refactor refactored dat mooi in de UI mee, de tooling zorgt ervoor dat ik een hoop errors kan vermijden die ik anders met javascript slecht at runtime zou kunnen zien etc ...

Ik begrijp wel dat java een slechte reputatie heeft maar die is toch echt wel grotendeels ongegrond tegenwoordig. Je krijgt ook wel een scheef beeld als je veel echte "programmeurs" hebt die een UI weinig kan schelen en daardoor "lelijke" applicaties afleveren, dan dat je web designers hebt die hun handen wat vuil maken aan html & javascript maar het in de core designers zijn.

Om java in een cobol hoekje te duwen vind ik in ieder geval STERK overdreven en java heeft zeker nog een toekomst op verschillende plaatsen, mensen moeten er iig over geinformeerd worden.
ik gebruik geen enkele java applicatie op de client, zowel niet op mijn werk als niet thuis op de mac. ik zie die java applicaties gewoon niet, alleen in de verte op de server draait soms een java webapp die zich niet zelden manifesteert als een stack trace dump overigens :)

java heeft zn kans gehad in midden jaren 90 met die stuiterende koppetjes* in een web appletje. nu hebben flash en ajax die applet space overgenomen. op de desktop draaien eigenlijk alleen native apps (objective c of visual c++). ik weet overigens niet of ms c# het beter doet dan java qua desktop apps.

inmiddels heeft java alleen nog voordelen op de appserver omdat het gewoon een heleboel mindshare en libraries heeft bij developers. als taal is het toch niet zo sexy meer als het ooit was er is behoeft aan iets nieuws; een fresh start. java is een legacy geworden. en legacy hoort niet thuis op een innovatieve telefoon als de iphone.


*: http://java.sun.com/applets/other/BouncingHeads/index.html

[Reactie gewijzigd door nose_breather op 10 november 2007 21:05]

@ nose_breather:
Je verkijkt je lelijk, ik werk bij een bedrijf dat een ondersteunungspakket levert en dat nog goed doet ook (ok, ik ben natuurlijk niet helemaal objectief, maar goed, de cijfers spreken voor zichzelf), dat weet ik omdat 't bedrijf nu ongeveer 250 mensen telt en elke maand komen er wel een paar bij.

Maar goed, nu het relevante stukje:
De software (waar ik dus aan meedev) is, je raadt t al, compleet in Java geschreven (er is wel een conversielaag uiteindelijk naar javascript/HTML maar daar hebben maar iets van 2 devvers mee te maken uit de iets van 30-35).

En wat blijkt?
De klanten zijn er nog behoorlijk tevreden mee ook!

Dat is denk ik niet iets dat mogelijk geweest zou zijn als Java echt zo'n "legacytaal" was zoals jij 't omschrijft.

p.s.: om nog maar iets te noemen: Java is meer typesafe dan bijv. C++, heeft een betere multithreading library dan C++ (op de POSIX lib na misschien, maar dat is geen onderdeel van ANSI C/C++), ga zo maar door. Niet echt de kenmerken van een legacytaal lijkt me.

[Reactie gewijzigd door Jeanpaul145 op 11 november 2007 22:03]

geen enkele java app @ client ? Meen / weet je dat echt?

Ik kom er als developer alleszinds tegen, maar dan wel sporadisch en voor kleinere toepassingen. Ik denk oa. aan sql clients, open source tooltjes (hoeft heus niet altijd gtk+ te zijn), torrent clients, etc.
Als ik zelf een tooltje schrijf is dat 9/10 in Java. Ik heb er in no time een aardig uitziende swing app geschreven.

Het web is een ander verhaal, daar geef ik de voorkeur aan Ruby, PHP, Python en daarop gebasseerde frameworks (Rails, Symfony, Cake, Turbogears, etc.)
Een equivalente setup in Java ziet er al snel zo uit: JSP + Struts + Hibernate + Velocity.
Ik schrik er eerlijk gezegd van wnr ik nog een website tegenkom waarbij bv. het navigatiemenu wordt weergegeven in een java-applet. Javascriptjes zat die een mooi tree'tje weergeven.
Ik heb hier thuis toch ook maar 1 java applicatie draaien en dat is jxmltv (een epg grabber). Verder blijf ik zo ver mogelijk uit de buurt van die dingen. Gewoon de interface al van de meeste van die dingen. Multi-platform is leuk maar MOET het dan zo lelijk zijn allemaal?
Multi-platform is leuk maar MOET het dan zo lelijk zijn allemaal?
Grappig dat je die 'moet' dan nog in caps zet want neen, niemand verplicht je Swing of AWT te gebruiken. GUI libs en XUL based generators zat. Je kan zelfs eigenhandig stylen als je wil.
Maar dan moet je wel even verder kijken dan je neus lang is.
Ok, die bounching heads is wel erg ;)

Mijn laatste poging ter verdediging van de eer van java, even links spammen:
Nederlandse trein app: http://www.eclipse.org/community/casestudies/dutch_rail.pdf
http://www.eclipse.org/community/rcpcp.php
http://www.eclipse.org/community/rcpos.php
http://progx.org/users/Gfx/alpha-window.png
http://www.curious-creatu...ogs-extreme-gui-makeover/
http://edbrill.com/ebrill.../hannoverscreenshots.html
http://gwt.google.com/samples/Mail/Mail.html (eind resultaat is html en javascript, maar is volledig in java geprogrammeerd en daarna gecompiled naar html/javascript)

tsjah er zijn er nog loads, massa's case studies op de eclipse site, en vanaf android zullen er ook heel wat mobile apps te zien zijn. Nadeel aan java op windows mobile is dat de jre enkel door fabrikanten word meegeleverd, beetje kip-ei probleem, daardoor heb ik overtijd een pda opdracht doorgeschoven naar een dotnet developer omdat dotnet user installable is op windows mobile.

Iig Java is verre van enkel voor op servers of dood en dat ga ik toch trachten te blijven verdedigen :)
Trouwens dan vergeet je hier nog te melden dat bijna google applicaties gebouwd zijn op java... opzich kan je java vergelijken in kracht met een taal zoals progress, vreselijk krachtig vergeleken met de competitie, maar niet mooi en niet al te makkelijk (en zekers prijzig, wat dan weer niet van toepassing is op jav.)
Dat native applicaties per definitie een rijkere user interface hebben, is verre van waar. Een goede Java applicatie doet qua user interface niet onder voor een native applicatie. Aerith is een heel mooi voorbeeld van wat er met Java mogelijk is op user interface gebied. Het boek Filthy Rich Clients staat vol met voorbeelden van hoe je een dergelijke rijke user interface kunt maken in Java met een vrij goede performance.

Qua performance is het uiteraard logisch dat Java over het algemeen minder snel is dan een native applicatie. Er zal altijd een bepaalde overhead zijn die een native applicatie niet heeft. Het verschil is echter lang niet zo groot als dat de meeste mensen kennelijk denken. In benchmarks blijkt Java meestal vlak achter C en C++ te zitten qua performance en in sommige benchmarks is Java zelfs sneller. Op korte termijn komen er ook nog een aantal belangrijke performance verbeteringen aan, zoals het standaard gebruik van Direct3D onder Windows voor alle Swing applicaties, wat in sommige gevallen gigantische performance verbeteringen tot gevolg heeft.

[Reactie gewijzigd door MetroidPrime op 10 november 2007 23:11]

WTF?

Java heeft verschillende versies. Zo ok JavaME: Java MicroEdition.
De meeste mobieltjes komen met ondersteuning voor JavaME.

Sterker nog: de meeste spelletjes die je speelt op een telefoon zijn JavaME spellen. Dr worden miljarden verdient met JavaME.

CrossPlatform is voor microdevices natuurlijk een must. Je gaat geen spel schrijven voor alleen de Noka80 nogwat.. M.b.v. JavaME werkt het op alle JavaME mobieltjes.


Java hoort zeker wel op de telefoontjes,
en java op de desktop kan wel een impuls gebruiken.
Java Swing is een van de beste GUI toolkits die er zijn op het moment.
kan wel zijn dat het handig is voor programmeurs zon java-fit-all approach maar de performance zal nooit optimaal zijn. voor een iphone bijvoorbeeld wil je geen gekke swing gui apps maar native os x applicaties met core animation e.d.

de iphone api zal programmeurs ook een rijke voedingsbodem bieden om geld te verdienen. en dat is een api die de mogelijkheden van de iphone wel ten volle benut itt java. dus win-win voor programmeur en iphone gebruiker.

[Reactie gewijzigd door nose_breather op 10 november 2007 20:46]

Performance is inderdaad niet optimaal maaar toch kun je zelfs 3D spellen met J2ME maken.
En het is natuurlijk handig dat je business-app ontwikkeld in JavaME ook op de iphone werkt.

JavaME heeft trouwens geen Swing. Het heeft een abstractie laag voor knoppen etc waardoor er toch nog een heel goede performance is.
Telefoons alleen als clients zien is ook niet echt iets van de toekomst...
jij wil java j2ee servers draaien op mobiele telefoons? :?
Nokia heeft al jaren java op de s60-series? Of heb ik dat fout.
Heeft dat iets te maken met apple-compatibiliteit dan? Is daar niet gewoon een andere naam/toepassing voor bij apple. Want anders zou je toch ook niet kunnen webbrowsen op java-sites.
Wat bedoel je met java-sites?

Sites die server-side op JSP (miss zelfs JSF) draaien? In dat geval heeft het niets met de client te maken, die krijgt mooi html aangeleverd.
Heb je het over JavaScript? In dat geval: JavaScript =/= Java
Java-applets miss? Die ondersteunt de iPhone idd niet.
Hier is toch J2ME voor? Werkt op alle (smart)telefoons bijna

http://java.sun.com/javame/index.jsp
Precies.
Maar volgens mij willen ze volledige JRE ondersteuning op de IPhone hebben.
Flash wordt voor video toch ook alleen maar gebruikt als container?

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True