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. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 28 reacties, 10.614 views •

Oracle wil het JavaFX-framework porten naar zowel iOS als Android. Om de port mogelijk te maken, zoekt het softwarebedrijf samenwerking met developers. Een test- en bouwsysteem voor de JavaFX-port is al operationeel.

Met het JavaFX-framework kunnen rich internet applications gebouwd worden. Applicaties die gebouwd zijn met JavaFX zijn in principe platformonafhankelijk omdat ze met Java zijn gebouwd. Oracle is al enige tijd bezig om JavaFX en andere Java-software geheel opensource te maken. Daarbij heeft het softwarebedrijf aangekondigd dat het JavaFX geschikt gaat maken voor iOS en Android.

Volgens Oracle is JavaFX vooral geschikt voor het programmeren van grafische interfaces. De eerste onderdelen voor een iOS-port komen volgens Richard Bair van Oracle al over enkele weken beschikbaar. Een test- en bouwsysteem voor de ports naar de mobiele besturingssystemen is al operationeel, maar wordt nog verder voltooid. Naar verwachting over enkele maanden moeten de eerste versies van JavaFX ook voor Android beschikbaar komen.

Bair laat verder weten dat het mogelijk is om apps die gebouwd zijn op basis van JavaFX toch in de App Store te krijgen, hoewel Apple software op basis van gpl-licenties standaard niet toestaat. De 'truc' is om OpenJFX of OpenJDK te bundelen met de programmacode en deze bundel van een eigen licentie te voorzien.

Reacties (28)

Reactiefilter:-128025+117+26+30
Moderatie-faq Wijzig weergave
Niet mee eens. Apps die er op alle platformen hetzelfde uitzien bieden doorgaans een slechte ervaring, en Java heeft daar een lange historie in op de desktop.

Iedere native ervaring is anders en heeft andere conventies. De betere apps respecteren deze. Als voorbeeld: iOS menus zitten aan de onderkant, bij Android aan de bovenkant.

De prijs die je betaald voor Phonegap e.d. is dus een mindere ervaring dan een echte native app. Daar staat tegenover dat het ontwikkelen wel veel sneller gaat.
Waarbij je er voor het gemak even vergeet bij te melden dat MonoTouch & Mono for Android bijlange niet gratis zijn ;)
In zekere zin wil je dat ook, bij een crossplatform applicatie moet de app er op alle platformen liefst hetzelfde uitzien, niet als allerlei native applicaties.
Ben ik het dus niet mee eens. Ik kan begrijpen dat sommige ontwikkelaars of managers dit interessant vinden (vanuit kosten / uren overweging), maar de gemiddelde consument wil gewoon de meest optimale ervaring op zijn smartphone.

Een gemiddelde Windows Phone gebruiker verwacht gewoon een Metro interface. Kom je met een iOS of Android interface aanzetten, dan zal de WinPhone gebruiker snel afhaken.

Een iOS gebruiker verwacht een UI met veel natuurlijke animatie(bijv. rubber-band in tableViews en push-animatie bij overgang nieuw scherm). Apps behoren gewoonlijk in de bovenkant een navigatiebalk te hebben met een "terug" knop. Grafisch lijken veel controls vaak diepte te hebben door middel van een schaduw-effect.

Android heeft geen concept van push navigatie naar een volgend scherm, een scherm opent als het ware boven je oude scherm. Apps tonen veelal geen "back" knop, dit gaat gewoonlijk via de hardware toets (hoewel die toets optioneel zal worden?). In de standaard Holo UI zien componenten er "plat", minimalistisch uit.

Wat hierboven genoemd wordt, zijn slechts enkele verschillen, maar geeft een illustratie van wat een verwachtingspatroon zal zijn van een gemiddelde consument. Als de ontwikkelaar er niet voor zorgt dat zijn app in grote lijnen aan zo'n verwachtingspatroon voldoet, loopt deze het risico dat de consument afhaakt - de app niet gebruikt.

Om bovenstaande redenen heb ik een hekel aan SDKs die geen optimale gebruikerservaring kunnen bieden per platform. Voor mensen die graag een soort one-size fits all oplossing willen aanbieden, is wat mij betreft een web-app beter geschikt. Bij een webpagina heeft een gebruiker toch andere verwachtingen als bij een native app.
In zekere zin wil je dat ook, bij een crossplatform applicatie moet de app er op alle platformen liefst hetzelfde uitzien, niet als allerlei native applicaties. Da's het hele idee van crossplatform development. Anders krijgen we ook dingen als dat een website er in iOS anders (Apple-like) uitziet dan in Android en Windows Phone.
Men zegt soms hoe meer keuze hoe beter, maar ik zit eerlijk gezegd niet te wachten op nog een framework. Ook is het porten van apps in veel gevallen geen goed idee, door gebrek aan een native ervaring.
Het is overigens interessant om te weten dat de rangeCheck functie waar het om gaat, aan Sun gedoneerd was. In het kader van de implementatie van het superieure TimSort algoritme (oorspronkelijk voor Python geschreven).

Dezelfde programmeur werkte vervolgens bij Google en schreef/kopieerde de code opnieuw:
Drie If statements en drie expressies in rangeCheck. Niet eens de mogelijkheid om het op een andere manier te doen.

Voor het overige beroept Oracle zich op de namen, structuur en argumenten van functies. Alle code daarbinnen heeft Google volledig opnieuw geimplementeerd. De enige reden om de namen over te nemen, was om de interoperabiliteit te garanderen. Wat is de klacht van Oracle: Google fragmenteert ons ecosysteem. Boehoe
Ik begrijp wel waarom Oracle nou javaFX wil pushen voor de mobiele markt, en voor multiplatform dev is t wel interressant, maar ik hou ze liever op een afstand... na de regen komt de zon, en vervolgens gooide oracle roet in t eten... nu is t meer dat zelfs de zon niet meer voor niets op komt..

[Reactie gewijzigd door zeduude op 13 februari 2013 15:52]

Lijkt me wel handig, hoewel niet alle app-ontwikkelaars dit leuk gaan vinden: er zijn nu betaalde apps die dezelfde functie hebben als gratis Java-apps op de pc.
Als je straks Java kan draaien zullen die apps waarschijnlijk minder inkomsten zien.
Zo te zien gooien ze het nu op programmacode. Of op Harry Potter, de aanklacht is een beetje vaag.

Voor zover ik kan zien, dragen ze geen nieuwe feiten aan. Aangezien een jury hierover al heeft geoordeeld, denk ik niet dat een rechter genegen is om dit nogmaals te laten voorkomen.

edit aanvullend:
Ze gooien het volledig op een overtreding van fair-use van copyrighted materiaal. Dat zou kunnen werken, ware het niet dat al vastgesteld is dat er van copyright-schending geen sprake was (kortom, ook geen overtreding van fair-use).

10 tegen 1 dat dit niet eens voor de rechter komt. Een jury-uitspraak telt erg zwaar.

[Reactie gewijzigd door snirpsnirp op 13 februari 2013 19:16]

@coolmos Nee. Het is al maanden bekend dat API's in de States niet copyrightable zijn.
Met een behoorlijke compiler die Objective C en Java AST's kan targetten kom je een heel eind. Het compileren an sich is het probleem dan ook niet.

Het echte probleem met die frameworks is dat ze de look and feel nooit behoorlijk krijgen op een manier dat de app er daadwerkelijk native uitziet en voelt, en ook nog eens vlot is qua prestaties.
Als Android user zit ik niet te wachten op een brakke app die eruitziet alsof het enkel met iOS in gedachten ontworpen is bijvoorbeeld.

De SWT bewijst dat een framework maken die de L&F goed krijgt mogelijk is, maar zelfs de SWT krijgt het niet 100% goed, en daar zitten jaren aan FTE's in development time in. Een nieuw project (en projecten als phonegap vind ik vooralsnog nieuw) maakt geen schijn van kans dat goed te krijgen.
Als ze beter samenwerken met Google, zou Dalvik niet eens nodig zijn en zou Android out-of-the-box Java en JavaFX kunnen draaien.

Maargoed, leuk dat JavaFX ondersteund wordt.
Dan zal het gebruik kunnen groeien. Naar mijn weten is het gebruik nog altijd vrij laag. Zoveel GUI applicaties worden er niet (meer) met Java gemaakt.
Volgens Oracle is er alles mee mis.

Oracle blijft erbij dat Dalvik een onrechtmatige Java engine is, ook al heeft Google deze vanaf scratch geschreven (op 19 regels oid na) en ook al heeft Oracle Java onder open source gereleased.

Ze proberen nog steeds de API's gepatenteerd / copyrighted te krijgen. Kansloze missie, maar met de Amerikaanse 'rechtspraak' weet je natuurlijk nooit.

Het is de enige manier voor Oracle om de 7,4 miljard die ze voor Sun hebben betaald enigszins terug te verdienen.
Te laat, veel te laat. Het is ongeveer hetzelfde wat Adobe op de mobiele platforms doet: Flash dumpen en focussen op RIA-platform Adobe Air.

Het probleem is dat er amper bekende applicaties bestaan die geschreven zijn in JavaFX.

Op open source repo hosts als SF.net, Github, Gitorious en Bitbucket is er niet eens een speciale categorie voor JavaFX (enkel op Google Code), terwijl onder andere de syntax van JavaFX Script is heel verschillend met die van de Java taal.

De naam heeft het ook niet echt mee, omdat het bij de massa herinnert aan Java.

Oracle moet dus zich nog veel inspannen om animo buiten het bedrijf te kweken en JavaFX tot een succes te maken.
JavaFX != Java, daarnaast is een Java programma voor een pc zeer waarschijnlijk niet geschikt om op een mobieltje te draaien.
Interesting, volgens mij is het momenteel een hels karwei voor ontwikkelaars om apps voor beide platformen te onderhouden.
Ben benieuwd je dan nog OS specifieke functies kunt gebruiken.
Wat is e rmis met de Dalvik/Android-stack?

Op dit item kan niet meer gereageerd worden.



LG G4 Battlefield Hardline Samsung Galaxy S6 Edge Microsoft Windows 10 Samsung Galaxy S6 HTC One (M9) Grand Theft Auto V Apple iPad Air 2

© 1998 - 2015 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