JavaFX

JavaFX
ДевелопериСан Микросистемс, тренутно у власништву Оракл Корпорације
Последња верзија8 / 18. март 2014
Оперативни системJava Runtime
ПлатформаКрос платформа
Доступно уЈави
ТипАпликационо развијање
ЛиценцеЕУЛА,ГПЛ
Веб-страница www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html

JavaFX  представља софтверску платформу за креирање и ширење десктоп апликација, као и богатих интернет апликација (RIAs) , који могу да раде на широком спектру уређаја. Он је дизајниран да замени свинг као подразумевана GUI библиотека за Јаva SE, али је одлучено да ће оба бити укључена у догледној будућности.[1] JavaFX има подршку за десктоп компјутере и веб претраживаче на Windows, Linux и Mek оперативним системима.

До верзије 2.0 JavaFX програмери користе статички куцан, декларативан језик који се звао  JavaFX Script за креирање JavaFX апликација. Због тога што је JavaFX Script  компајлиран у Java bytecode, програмери су такође могли да користе обичан Java код. JavaFX апликације се могу покренути на било ком десктопу који може да покрене Java SЕ, на било ком претраживачу који може да покрене Java EE, или на било ком мобилном телефону који може да покрене Javа ME.

JavaFX 2.0 и касније верзије су имплементиране као изворна Јава библиотека, и апликације које користе JavaFX су писане углавном на Јави. JavaFX Script је првобитно направљен у компанији Oracle, међутим, развој се наставља у Visage-у.[2] JavaFX 2.х не подржава Соларис оперативни систем или мобилне телефоне; ипак, Оracle планира да интегрише JavaFX апликације у Java SE Embedded 8, и ЈаваFX за АRМ процесоре је у крајњој фази продукције.[3]

На десктоп рачунарима, JavaFX подржава Windows XP, Windows Vista, Windows 7, Windows 8, Маc ОS X и Linux оперативне системе.[4] Почев од JavaFX 1.2, Oracle објављује бета верзију за OpenSolaris.[5] На мобилном телефону, JavaFX Mobile 1.x је у стању да ради на различитим мобилним оперативним системима, укључујући Symbian OS, Windows Mobile, и  оперативне системе у реалном времену.

Технички извештаји

Општи профил
ЈаvaFX 1.1 заснива се на концепту "општег профила", који је дизајниран за све уређаје, који су подржжани од стране JavaFX. Такав приступ омогућава програмерима да користе заједнички модел програмирања приликом креирања апликација намењених за десктоп и мобилне уређаје и деле већи део кода, графичке објекте и садржај између десктоп и мобилне верзије.
Да би се обратили потребама подешавања апликација на одређену класу уређаја, платформа JavaFX 1.1 укључује API који су специфични за десктоп или мобилни телефон. На пример JavaFX Desktop профил укључује Swing и врхунске, напредне визуелне ефекте.
Drag-to-Install
Са становишта крајњег корисника "Drag-to-Install" вам омогућава да превучете JavaFX виџет (или апликација која постоји на сајту и видљива је на претраживачу) и превуците га на радну површину. Апликације неће изгубити свој статус или контекст, чак и када затворите прегледач. Апликација такође може бити поново покренута тако што се кликне на скраћеницу која нам се после инсталације аутоматски инсталира на радну површину.
Такво понашање је дозвољено у Java applet механизму, почев од Јаве 6, и њене 10. верзије  и користи се JavaFX од основног јава слоја.
Sun је декларисао "Drag-to-Install", као отварање новог модела дистрибуције и омогућавање програмерима да се "одвоје од претраживача".
Интеграција график настале од стране независних алата
JavaFX 1.x је фабрички у себи садржавао додатке за Adobe Photoshop и Illustrator, који омогућавају да савремена графика буде директно интегрисана у JavaFX апликације. Додаци генеришу JavaFX Script код, који чува слојеви и структуре графике. Програмери због тога могу лако додати анимације или ефекте на статичку графику која је увезена.
Ту је био и SVG алат за конвертовање графике (такође познат као Media Factory), који вам омогућава да увезете графику након конверзије на JavaFX формат.

Дизајн достигнућа

Sun Microsystems лиценцирао је посебно направљен фонт који се зове Аmble и користи се на уређајима чија је база JavaFX . Фонт су дизајнирали специјалисти за мобилни интерфејс  под називом Punchcut и доступан је као део пакета JavaFX SDK за 1.3 верзију.

Компоненте платформе JavaFX-а

У JavaFX 2.x платформа обухвата следеће компоненте:

  1. JavaFX SDК: runtime алати. Графика, медији веб-сервис и богат текст библиотеке. У ЈаvаFX 1.x је такође био укључен JavaFX компајлер додатак, који је сада застарео с обзиром на то да је сав кориснички код у JavaFX написан у Јави.
  2. NетВеаns IDE за JavaFX: NетВеаns са drag-and-drop палетом који служи за додавање објеката са трансформацијом, специјалним ефектима и анимацијом, као и скупом примера. За JavaFX 2 подршку потребан је барем NetBeans 7.1.1 . За Еclipse кориснике постоји додатак постављен на Project Кеnai.
  3. JavaFX scene builder: овај модел је развијен за ЈаvaFX 2.1 и изнад. Кориснички интерфејс (UI) настаје повлачењем и спуштањем контрола из палете. Ова информација је сачувана у датотеку у FXML, који је посебан XML формат.
  4. Алати и додаци за креативне алате ( такође познат као Production Suite): додаци за Adobe Photoshop и Аdobe Illustrator , која може експортовати графичка средства у JavaFX Script код, алати за конверзију SVG графике у JavaFX Script код и дозвољавају преглед активе која је претварена у JavaFX од стране других алата (тренутно није подржан у JavaFX 2.x верзији)

JavaFX Mobile

ЈаvaFX Mobile је била имплементација JavaFX платформе за богате интернет апликације, усмерених на мобилне уређаје. JavaFX Mobile 1.x апликације могу бити развијене на истом језику, JavaFX Script, као JavaFX 1.x апликације за прегледач или десктоп, и користећи исте алате: JavaFX SDK и JavaFX Production Suite. Овај концепт омогућава да делите код и графичке својине за десктоп и мобилне апликације. Захваљујући интеграцији са Јаva ME, у JavaFX апликације имају приступ могућностима тог корисничког телефона телефона, као што су filesystem, камера,GPS, bluetooth и аccelerometer.

Као независна платформа за апликације изграђена на Јави, JavaFX Mobile је способан да ради на различитим мобилним оперативним системима, укључујући Android, Windows mobile, и власнички оперативним системима у реалном времену.

JavaFX Mobile је јавно био доступан као део пакета ЈаvaFX 1.1-kоји је пуштен на коришћење од стране "Sun Microsystems" 12. фебруара 2009.

Sun је планирао да укључи out-of-the-box подршку JavaFX-а на уређајима радом са произвођачима телефона и мобилних оператера, да скинули JavaFX  Mobile на уређаје. JavaFX Mobile који раде на Android платформи показан на JavaOne-у 2008. године и изабрана партнерства (укљ. LG Electronics, Sony Eriсsson) су објављени на JavaFX Mobile лансирању у фебруару 2009. године.

Историја

JavaFX Script, компонента JavaFX-а, и почео као пројекат Криса Оливера под назвом F3.[6]

"Sun Microsystems" први пут је најавио JavaFX на JavaOne  Worldwide Java Developer конференцији у мају 2007. године.

У мају 2008. године предузеће Sun Microsystems је најавило да планира да избаци на тржиште JavaFX за прегледач и десктоп, у трећем кварталу 2008. године, а JavaFX за мобилне уређаје у другом кварталу 2009. године. Sun је такође најавио дугогодишњи споразум са  Оn2 Technologies за пружање свеобухватне видео способности JavaFX породици производа користећи  TrueMotion Video codec. Почев од краја јула 2008. године, програмери су били у могућности да преузму  преглед верзију JavaFX SDK за Windows и Macintosh, као и  JavaFX додатак за NеtВеаns 6.1.

Велика издања још од JavaFX 1.1 имају имена базирана на улици или округу у Сан Франциску. Ажурирање издања обично немају имена.[7]

JavaFX 1.0

4. децембра 2008. године Sun је објавио JavaFX 1.0.2

JavaFX 1.1

JavaFX за развој мобилних уређаја је коначно био доступан као део пакета JavaFX-а 1.1  (по имену Франк[7]) најављен званично 12. фебруара, 2009.

 ЈаvaFX 1.2

JavaFX 1.2 (назван Марина[7]) био је пуштен на JavaOne-у  2. јуна 2009. године. Ово издање је увело:[8]

  • Бета подршку за Linux и Solaris,
  • Интегрисане контроле и распореди,
  • Skinnable СSS контроле,
  • Интегрисане график додатке,
  • Компоненте улаз/излаз,  маскирање разлике између десктоп и мобилних уређаја,
  • Побољшања брзине.
  •  Windows Mobile Runtime са Sun Java Wireless Client-ом.

  JavaFX 1.3

JavaFX 1.3 (по имену Сома[7]) је објављена 22. априла 2010. године. Ово издање представља:[9]

  • Побољшања перформанси
  • Подршку за додатне платформе
  • Побољшану подршку за управљање корисничког интерфејса

  JavaFX 1.3.1

Ова верзија је објављена 21. августа 2010. године. У овом издању је представљено:

  • Брзо време покретања апликације JavaFX.
  • Кориснички напредак-бар за покретање апликације.

  JavaFX 2.0

Ова верзија (по имену Пресидио[7]) објављена је 10. октобра 2011. године. У овом издању је представљен:

  • Нови скуп Јава API-ја koji otvara JavaFX могућности за све Јава програмере, без потребе да они науче нови језик. Јава FX Script подршка је обустављена заувек.
  • Подршка за високе перформансе "лењог везивања", секвенсних експресија, и делимично повезане ре-евалуације.
  • Избацивање подршке JavaFX Mobile.
  • Оracle најављује њихову намеру да стави JavaFX као "open source".
  • JavaFX "runtime" почиње да буде одређен за сваку платформу, користећи могућности система, као видео кодек на располагању у систему ; уместо да имплементира само једну крос-платформу "runtime" као са JavaFX-ом 1.x .

Разна побољшања су направљена у JavаFX библиотекама за мулти-"трединг". "Task" API-еви су  били ажурирани да подржавају много концизније "тред" могућности (тј. JavaTaskBase класа није више неопходна имајући у виду да сви API-јеви су у Јави, и потражња за ). Осим тога, сценски графикон је дизајниран да омогући сценама да буду изграђене на тредовима у позадини а онда да буду спојени са "live" сценама на threadsafe начин.

26. маја 2011. године Oracle је објавио JavaFX 2.0 Бета верзију. Бета верзија је била доступна само за 32-и 64-битне верзије оперативног система Microsoft Windows XP, Windows Vista и Windows 7. Верзија за рани приступ за Mac OS X је такође био доступан за чланове JavaFX  партнерском програму у то време, док је подршка Linux била планирана у будућем издању JavaFX апликације. JavaFX 2.0 је објављена са подршком само за Windows. Маc OS X подршка је додата у JavaFX 2.1. Подршка за Linux је додата у JavaFX 2.2 .

JavaFX 2.0 је користи нови декларативи XML језик који се зове FXML.[10][11]

JavaFX 2.1

27. априла 2012, Oracle је објавио верзију 2.1 JavaFX,[12] , која обухвата следеће главне карактеристике:[13]

  • Прва званична верзија за Mac ОS X (само за десктоп)
  • Подршка за H. 264/MPEG-4 AVC и напредно аудио кодирање
  • CoolType текст
  • Побољшање корисничког интерфејса, укључујући елементе контроле combo-box-а, графиконе, и нове опције на менију
  • "Webview" вам омогућава да JavaScript зове Јава методе

 JavaFX 2.2

14. августа 2012. године, компанија Оracle је објавио верзију 2.2 JavaFX,[14] , који обухвата следеће главне карактеристике:[15]

  • Подршка за Linux (укључујући додатак и webstart)
  • Платно
  • Нове контроле: Избор боја, Пагинитација
  • HTTP подршка за пренос уживо
  • Догађаји на додир и покрете
  • API рад са сликама
  • Матерње Паковање

JavaFX 2.2 додаје нову опцију за паковање под називом "Матерње Паковање", што вам омогућава да се спакује апликацију као "матерњи комплет". Ово даје корисницима могућност да инсталира и покрене апликацију без икаквих спољних зависности од система JRE или FX SDK.

Од преласка Оracle Java SE 7 на Java SE 6 и JavaFX 2.2 је стављен у комплет и дат на инсталирање са Оracle Јаvа SЕ платформом.[16]

JavaFX 8

JavaFX је од ове верзије део JRE/JDK за Јава 8 и има исти начин нумерисања, односно, звала се JavaFX 8.[17]

JavaFX 8 додаје неколико нових функција, укључујући:[18]

  • Подршка 3Д графике[19][20]
  • Подршка за Сензор
  • Подршка за штампање и богат текст
  • Генерички обрасци дијалога кроз укључивање ControlsFX-а у замену за JOptionPane као од JavaFX 8u40.[21]

JavaFX 9

JavaFX 9 приказује карактеристике усмерене на издвајању неких корисних приватних API-јева са JavaFX кода те API јавности:

  • JEP 253: припремите контроле корисничког интерфејса JavaFX CSS и API за Модуляризации[22]

Будући рад

Oracle је такође најавио у новембру 2012. године стаљање Decora  у "опен сорс" , DSL Shader за JavaFX који вам омогућава да генеришете Shaders за OpenGL технологије и Direct3D.[23]

Платформе

Од марта 2014. JavaFX је издат за Windows, Mac OS X и Linux Desktop.[24] Оracle има унутрашњи порт JavaFX-а на iOS и Android Linux.[25][26] Подршка за АRМ ће бити доступна почев од JavaFX 8.[27] 11. фебруара, 2013, Ричард Баир, главни архитекта клијента Платформе Јава у Оracle, најавио је да ће Oracle ставити на опен сорс имплементацију JavaFX  платформи за Андроид и Мек оперативни систем у наредна два месеца.[28][29] Почев од верзија 8u33 JDK-а за ARM, подршка за JavaFX Embedded је уклоњена.[30] Подршка ће бити настављена само за x86 архитектуре.[31]

Лиценца

Постоје разне лиценце за модуле који чине JavaFX runtime:

  • Део језгра JavaFX runtime-а је још увек власнички софтвер и његов код још увек није објављен за јавност,[32] међутим, програмери и ствараоци те технологије раде на томе да код ускоро буде објављен.[33]
  •  JavaFX компајлер[34] и старија верзија 2D Scene graph[35] је издата под GPL v2 лиценцом,
  • NetBeans додатак за JavaFX је под двоструком лиценцом GPL V2 и CDDL.[32]

Током развоја, компанија Sun је објаснила да ће објавити своју стратегију JavaFX модела лиценцирања за JavaFX-ово прво издање.[36] Након откривања , Јееt Каul, потпредседник одељења за софтвер клијената компаније Sun, објаснио је ће ускоро објавити спецификације за JavaFX и њихову повезаност са  форматом датотека, и да ће наставити да ставњају "опен сорс" за JavaFX runtime, као и да ће наставити са одвајањем  језгра од приватних делова који су лиценцирани од стране неке друге компаније .[37]

На JavaOne-у 2011. , Oracle је најавио да ће JavaFX 2.0 отвореног кода.[38] Почетком децембра 2011. године Oracle је почео да ставља JavaFX на отворен код са GPL+linkin изузетком.[39][40]

У децембру 2012. године, Oracle је објавио нове порције JavaFX изворног кода:[41]

  • анимације и timeline класе
  • механизам испоруке догађаја и разних других класа основе
  • "Render tree" интерфејс и имплементација овог интерфејса
  • геометрија и имплементација облика
  • подршка за логовање

Још погледај

  •  JavaFX Script
  •  Curl (програмски језик)- декларативан програмерски језик за веб апликације

Референце

  1. ^ „JavaFX Frequently Asked Questions”. 
  2. ^ Visage
  3. ^ http://www.oracle.com/technetwork/java/javafx/overview/roadmap-1446331.html
  4. ^ „JavaFX 2.0 and above Certified System Configurations”. 
  5. ^ „Software and System Requirements for JavaFX Technology”. 
  6. ^ „Project name F3”. Архивирано из оригинала 06. 03. 2008. г. Приступљено 30. 06. 2016. 
  7. ^ а б в г д „Repositories and Releases”. 29. 6. 2013. Приступљено 18. 10. 2013. 
  8. ^ Marinacci, Joshua (9. 6. 2009). „Top 5 Most Important Features in JavaFX 1.2”. Архивирано из оригинала 13. 06. 2009. г. Приступљено 12. 6. 2009. 
  9. ^ „JavaFX 1.3 Released, Improves User Experiences”. 22. 4. 2010. Архивирано из оригинала 30. 04. 2011. г. Приступљено 25. 4. 2010. 
  10. ^ Meyer, David (6. 10. 2011). „JavaFX 2.0 arrives and heads for open source”. ZDNet. Архивирано из оригинала 25. 11. 2011. г. Приступљено 9. 10. 2011. „'The update introduces a new XML-based markup language called FXML, which is aimed at defining user interfaces. Other scripting languages, such as Groovy, JRuby and Scala, can also be used to write apps in JavaFX 2.0, as can the Java development tools NetBeans and Eclipse.' 
  11. ^ Brown, Greg (15. 8. 2011). „Introducing FXML” (PDF). Архивирано из оригинала (PDF) 31. 01. 2012. г. Приступљено 9. 10. 2011. 
  12. ^ JDK 7u4 and JavaFX 2.1 released, now also including Mac OS X | Across the Universe
  13. ^ „JavaFX 2.1 Release Notes”. Oracle Corporation. Приступљено 5. 5. 2012. 
  14. ^ „What's new in JavaFX 2.2 (The JavaFX Blog)[[Категорија:Ботовски наслови]]”. Архивирано из оригинала 21. 08. 2016. г. Приступљено 30. 06. 2016.  Сукоб URL—викивеза (помоћ)
  15. ^ „JavaFX 2.2 Release Notes”. Oracle Corporation. Приступљено 2. 10. 2012. 
  16. ^ „JavaFX FAQ”. Oracle. Приступљено 11. 4. 2013. 
  17. ^ „JavaFX FAQ”. Oracle Corporation. Приступљено 5. 5. 2012. 
  18. ^ „JavaFX Roadmap”. Oracle Corporation. Приступљено 24. 11. 2012. 
  19. ^ Yang, Chien. „3D Features Planned for Version 8”. Oracle Corporation. Приступљено 24. 11. 2012. 
  20. ^ „3D Features Planned for Version 8”. Oracle Corporation. Приступљено 24. 11. 2012. 
  21. ^ „Архивирана копија”. Архивирано из оригинала 05. 01. 2015. г. Приступљено 30. 06. 2016. 
  22. ^ Giles, Jonathan (14. 1. 2015). „JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization”. Oracle Corporation. Приступљено 17. 1. 2016. 
  23. ^ Bair, Richard (6. 11. 2012). „Open Sourcing: decora-compiler”. Oracle Corporation. Приступљено 24. 11. 2012. „'I'm going to be open sourcing today another one of our projects called decora-compiler. We have our own DSL for shader languages called Decora. What we do is generate shaders for OpenGL and D3D from this language. We also generate Java code and SSE native code. For some shaders, we ended up generating them and then hand-tweaking them from there' 
  24. ^ „General Availability Download”. Oracle Corporation. Приступљено 5. 1. 2013. 
  25. ^ Bair, Richard (3. 12. 2012). „Porting JavaFX”. Приступљено 5. 1. 2013. 
  26. ^ Brandalik, Tomas (7. 12. 2012). „Survey: JavaFX on tablets and mobile devices”. Приступљено 5. 1. 2013. 
  27. ^ 1 JavaFX Overview (Release 8)
  28. ^ Bair, Richard (16. 2. 2013). „February Open Source Update”. Oracle Corporation. Архивирано из оригинала 14. 02. 2013. г. Приступљено 13. 2. 2013. „'We’re also going to open source our iOS and Android implementations over the next couple months.' 
  29. ^ „Oracle Announces Open Source JavaFX for iOS and Android”. infoq.com. 13. 2. 2013. Приступљено 16. 2. 2013. „'Oracle has announced plans to open source the iOS and Android implementations of its JavaFX UI platform "over the next couple of months", allowing developers to use the technology to write cross-platform applications for those platforms for the first time.' 
  30. ^ „JDK for ARM 8u33 release notes”. Oracle Corporation. 16. 2. 2013. Приступљено 9. 3. 2015. „'Starting with JDK 8u33, JavaFX Embedded is removed from the ARM bundle and is not supported.' 
  31. ^ Topic, Dalibor (27. 1. 2013). „Raspberry Pi's mailing list: Where's JavaFX in recent Java 8u33 for the ARM ?”. Приступљено 9. 3. 2015. „'JavaFX continues to be provided as a fully supported part of the Oracle JDK 8 product on x86 platforms (Windows, Linux, Mac).' 
  32. ^ а б „JavaFX Downloads”. Приступљено 7. 6. 2008. [мртва веза]
  33. ^ „February Open Source Update”. JavaFX News, Demos and Insight // FX Experience (на језику: енглески). 11. 2. 2013. Архивирано из оригинала 04. 05. 2016. г. Приступљено 25. 5. 2016. 
  34. ^ „OpenJFX Compiler Project”. Приступљено 7. 6. 2008. [мртва веза]
  35. ^ „Project Scene Graph home”. Архивирано из оригинала 06. 03. 2012. г. Приступљено 7. 6. 2008. 
  36. ^ „Will JavaFX technology be released in open source?”. Приступљено 7. 6. 2008. „'Sun will continue to engage the OpenJFX community as we release JavaFX products. This fall we will be rolling out our open source strategy for JavaFX technology concurrent with the release of version 1 of JavaFX Desktop' 
  37. ^ Kaul, Jeet (16. 12. 2008). „JavaFX — the road ahead”. Архивирано из оригинала 17. 12. 2008. г. Приступљено 3. 1. 2009. „'Sun is committed to open standards and open source, and specifications are coming soon(...)There are some dependencies on licensed code that cannot be open sourced. We are working towards decoupling the dependencies so that the non-proprietary portions can be open sourced. Currently the JavaFX compiler, Netbeans JavaFX plugin and Eclipse JavaFX plugin are already being developed in the open source. The scene graph is out in the open. We will put the core runtime out in the open over time.' 
  38. ^ Meyer, David (6. 10. 2011). „JavaFX 2.0 arrives and heads for open source”. ZDNet. Архивирано из оригинала 25. 11. 2011. г. Приступљено 9. 10. 2011. „'At the event, Oracle also announced plans to make the JavaFX platform open source. It has submitted a proposal to the OpenJDK Community, and its first contribution will include the JavaFX user interface controls and related libraries. "Other JavaFX components are planned to follow in multiple phases," the company said.' 
  39. ^ "OpenJFX Project".
  40. ^ Bair, Richard (2. 12. 2011). „Call for patches”. Oracle Corporation. Приступљено 7. 12. 2011. „'Hey guys, Just a note to indicate that the UI controls have been open sourced into openjdk' [мртва веза]
  41. ^ Safrata, Pavel (18. 12. 2012). „More of JavaFX open-sourced”. Oracle Corporation. Приступљено 5. 1. 2013. „'Hello everyone, today we open-sourced another part of JavaFX. Following projects are now part of OpenJFX' 

Спољашње везе