自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaFX重裝上陣 加強(qiáng)Web領(lǐng)域開發(fā)

開發(fā) 后端 企業(yè)動(dòng)態(tài)
Sun公司的JavaFX是一種腳本,以簡(jiǎn)單的方式利用現(xiàn)有的Java語言、Java 2D和Java Web Start技術(shù)實(shí)現(xiàn)Web富客戶端界面。

Sun公司的JavaFX是一種腳本,以簡(jiǎn)單的方式利用現(xiàn)有的Java語言、Java 2D和Java Web Start技術(shù)實(shí)現(xiàn)Web富客戶端界面。

很久以前,當(dāng)Internet還很年輕的時(shí)候,Java語言曾經(jīng)很受青睞,以至于《財(cái)富》雜志將Scott McNealy(Sun公司董事會(huì)主席及Sun 聯(lián)邦公司主席,他是Sun公司聯(lián)合創(chuàng)始人)評(píng)為封面人物,以超級(jí)英雄裝扮,冠以“Java Man”的稱號(hào)。Java跨平臺(tái)的能力使得計(jì)算機(jī)世界大為震驚,成為計(jì)算機(jī)世界默認(rèn)的編程語言。

盡管Java在教育、科學(xué)計(jì)算、服務(wù)器領(lǐng)域取得巨大的成功,但是在桌面應(yīng)用程序方面卻沒有那么成功。另外,對(duì)于能夠嵌入在任何Web站點(diǎn)的Java applet來說,是不能和動(dòng)畫流暢、圖形保真度很高的Flash匹敵的。Microsoft曾經(jīng)力推的動(dòng)態(tài)HTML,后來復(fù)興的Ajax,都使得Java applet 在Web領(lǐng)域的優(yōu)勢(shì)逐漸消失。

現(xiàn)在11年過去了,Sun想重新贏回自己的用戶。不過目前看來,這個(gè)任務(wù)變得艱難許多,因?yàn)锳dobe公司不僅有AIR,還有Flex和Flash。單獨(dú)Flash就發(fā)行到第10個(gè)版本了,并且比以前的版本有了更多的功能。這僅僅是一個(gè)Adobe,另外,Microsoft推出的Silverlight,Apple仍舊推動(dòng)QuickTime的發(fā)展,另外AJAX技術(shù)呼聲也不小。它們之間的競(jìng)爭(zhēng)欲演欲烈,誰都想成為占絕對(duì)優(yōu)勢(shì)的技術(shù),滿足對(duì)動(dòng)畫口味要求越來越高的用戶。

Java重裝上陣

Sun現(xiàn)在對(duì)這場(chǎng)戰(zhàn)斗準(zhǔn)備得更好些。Sun現(xiàn)在有豐富的程序庫供動(dòng)畫制作使用,包括很受看中的Java 2D, Java 2D是與Adobe公司一起開發(fā)的,模仿PostScript的計(jì)算結(jié)構(gòu)。有人說在Web動(dòng)畫方面,F(xiàn)lash之所以勝過Java applet是因?yàn)镕lash提供了平滑的反混疊算法。如果Java 2D API不夠的話,會(huì)有大量的開源程序庫開發(fā)出來,供開發(fā)者使用。

現(xiàn)在看來,Sun跟以前相比,對(duì)這場(chǎng)戰(zhàn)斗確實(shí)準(zhǔn)備得好一些,但留給Sun的問題是如何解決新瓶裝舊酒。雖然工具已經(jīng)給Web美工設(shè)計(jì)人員準(zhǔn)備好了,但是Web美工設(shè)計(jì)人員對(duì)如何使用工具卻沒有準(zhǔn)備好。一些Web美工設(shè)計(jì)人員能寫Flash的腳本,但是使用純粹的Java還欠功力。因此Sun需要?jiǎng)?chuàng)建一個(gè)新的語言,并且希望Web開發(fā)者能夠喜歡并且使用新的編譯器將之變成字節(jié)碼,運(yùn)行在Java虛擬機(jī)上。

Sun確實(shí)也推出了新的語言JavaFX,我已經(jīng)花了幾天來試驗(yàn)新的語言,我得出的結(jié)論是JavaFX的成功或者失敗主要取決于用戶的體驗(yàn)。新的語法隱藏了一些Java中討厭的語法限制,***范圍了滿足需求,讓用戶使用起來更加自由,忽略了一些標(biāo)點(diǎn)符號(hào)。關(guān)于顏色和布局的設(shè)計(jì)細(xì)節(jié)混合在代碼中,寫出來的代碼有些像CSS、HTML和JavaScript的混合體。新的語言有許多內(nèi)置的功能來處理最為常見的任務(wù),例如加載遠(yuǎn)程文件。

使用的這個(gè)語言的便利是要付出代價(jià)的:需要學(xué)習(xí)一個(gè)新的語言,記住另一套方式來構(gòu)成一個(gè)Web應(yīng)用程序。老的關(guān)鍵字“void”重新規(guī)定為“Void”,V要大寫,但是這些關(guān)鍵字的定義會(huì)自動(dòng)從函數(shù)中得來,不用顯式的敲出來,這還是很方便的。除此之外,還有一些好的語法。

經(jīng)過一些實(shí)驗(yàn),我發(fā)現(xiàn)對(duì)有些方面受不了。開始問自己為什么Sun不使用Groovy,使用一些簡(jiǎn)潔語言來進(jìn)行Java富Web客戶端程序設(shè)計(jì)?或者使用JavaScript?在瀏覽器中的JavaScript層和JavaFX applet之間有許多靈巧的鉤子?;蛘呤褂迷嫉腏ava?我曾經(jīng)想對(duì)于Java程序員來說,一些本可以拿Java本身表達(dá)的XML或者Properties文件不去表達(dá),而非要掌握一個(gè)新的語言是否是一件明智的事情。

Java Web“混合酒調(diào)制術(shù)”

很快,我逐漸喜歡這種語法。***的好處就是所有的東西都在一個(gè)文件。布局對(duì)象、風(fēng)格、動(dòng)畫效果都混個(gè)在一起。不需要區(qū)分CSS、HTML、JavaScript文件。實(shí)際上將所有的文件混合成一個(gè)文件并不是提倡的,許多機(jī)制鼓勵(lì)程序員將項(xiàng)目細(xì)分成模塊化。

混合是不是一件壞事?一些喜歡嚴(yán)格劃分功能(如模型、視圖、控制)的程序員就覺得此舉簡(jiǎn)直不可理喻。將文件分成不同部分管理起來更加容易。將所有的文件混合在一起,放在一個(gè)JavaFX文件中就不容易將CSS文件給設(shè)計(jì)人員,不容易將JavaScript文件給AJAX程序員。沒錯(cuò),這么認(rèn)為是對(duì)的。但是集成度這么高,利于不同文件的頁面調(diào)度,給一些div一個(gè)id,接著賦予這個(gè)id一些風(fēng)格,設(shè)置id如何動(dòng)作。如果代碼不是那么復(fù)雜,為什么不將他們混合起來呢?對(duì)于設(shè)計(jì)人員來說可以繞開程序員剪切和粘貼足夠的代碼。這么一來進(jìn)行文件的分離并不是什么問題。

這種爭(zhēng)論是不必要的,如果希望的語言有自己的方式來完成分離的工作。程序的皮膚由美工設(shè)計(jì)人員放到CSS文件中,而與此同時(shí)程序員可以專注于腳本的編寫。對(duì)于美工設(shè)計(jì)人員來說,我猜想JavaFX比JavaScript和其它的一些語言更加容易上手。我也肯定有許多關(guān)于如何正確組織應(yīng)用程序的爭(zhēng)論。

Sun花了很大的精力將JavaFX工具加入到NetBean集成開發(fā)環(huán)境中。想要調(diào)查這些平臺(tái)有沒有增加JavaFX最簡(jiǎn)單的方法就是下載NetBean源代碼看看。NetBean集成開發(fā)環(huán)境中也有來自Adobe的Illustrator、Photoshop和 Flash的插件,這些插件能制作圖形。我認(rèn)為存在這么一種可能:某個(gè)勇于嘗試的美工設(shè)計(jì)人員在NetBeans中隨心所欲選用自己喜歡的工具進(jìn)行創(chuàng)作,在NetBeans創(chuàng)建出一件形態(tài)優(yōu)美的作品來。但是對(duì)于一般的美工設(shè)計(jì)人員來說,他們還是需要一些幫助的,因?yàn)镴avaFX的語法中有許多的選項(xiàng),這些選項(xiàng)無處不在,還是有些令人費(fèi)解。只有程序員才能想出將if-then語句加入到一個(gè)字符串的定義,如:

var s="The world is {if (date>1492) "round" else "flat"}."; 

令人滿意的結(jié)果是我們能夠丟掉打括弧中Java的if-then語法,因?yàn)槲覀兡軌驅(qū)⑵溆玫狡渌胤健?/P>

美工設(shè)計(jì)人員不需要面對(duì)這些復(fù)雜的語法,因?yàn)橛媚切┖?jiǎn)單的語法就能足夠做許多的事情了。他們不需要思考字符串定義中的這些令人費(fèi)解的事情。

Param Singh,JavaFX的高級(jí)市場(chǎng)經(jīng)理,告訴我說Sun希望JavaFX的早期使用者是那些Java開發(fā)者和一些嫻熟的美工設(shè)計(jì)人員。

Singh 說為美工設(shè)計(jì)人員準(zhǔn)備的可視化工具,以及為移動(dòng)手機(jī)開發(fā)JavaFX應(yīng)用程序的工具不久將會(huì)一起發(fā)布,之后接著說某種IDE里肯定會(huì)有那些工具,因此也需要熟悉這種IDE。”

我在想這些工具也將是免費(fèi)的,或者至少比Adobe的工具便宜很多。程序員將從開源革命中收益,并且有大量的免費(fèi)工具可供使用。如果JavaFX比Adobe的工具便宜很多,那么有可能夠吸年輕的開發(fā)者。

我不知道這是否能足以讓JavaFX從Flash,AIR和其它的工具中爭(zhēng)取到大的市場(chǎng)份額。程序員有他們自己的嗜好。無論如何,但是此舉可以讓Java程序開發(fā)者做一些新的任務(wù),因此就能讓Java有更大的使用范圍。有編寫大量Java代碼的程序開發(fā)者將能夠更輕松的掌握J(rèn)avaFX.

Java如何應(yīng)對(duì)老對(duì)手

我認(rèn)為最常見的JavaFX用戶將會(huì)是科學(xué)和金融方面的程序員,他們需要使得系統(tǒng)界面變得漂亮。任何Java函數(shù)庫都能夠被集成到JavaFX應(yīng)用程序中去,這就使得在應(yīng)用程序在擁有美觀的圖形界面后,還擁有一個(gè)非常靈巧,具有多種計(jì)算功能的后臺(tái)。我不能想象這種應(yīng)用程序如何用Flash的ActionScript來完成。目前對(duì)于開發(fā)者來說,目前這些工具還不具備完成大的項(xiàng)目的需求。

JavaFX真正的用途將還可以是作為更好的部署選擇。舉個(gè)例子,有一個(gè)程序員展示了如何整合JavaFX代碼到拖拽模型中。這些代碼將會(huì)通過Java的Web Start直接部署。對(duì)于一個(gè)公司來會(huì)所,JavaFX是一個(gè)非常好的部署模型,一個(gè)免費(fèi)的開源項(xiàng)目。JavaFX能夠很好的取代Swing,給Java開發(fā)者一個(gè)機(jī)遇來構(gòu)建自己用戶界面,使用去來像HTML的組件那樣,而不去使用Swing。JavaFX不僅僅是讓W(xué)eb頁面更具動(dòng)畫效果,也是部署桌面應(yīng)用程序的好機(jī)制。

我認(rèn)為美工設(shè)計(jì)人員將也會(huì)滿意Sun公司這些年對(duì)Java所做的工作。Java虛擬機(jī)更新非???,由于服務(wù)器端安裝的需求,在服務(wù)器端的安裝同時(shí)由一個(gè)鼠標(biāo)形狀變成一個(gè)沙漏,更具人性化。Java庫函數(shù)也很豐富,并且很好的檢查了,防止有安全漏洞隱患。另外,***的Java虛擬機(jī)已經(jīng)在8億用戶的電腦上安裝了。使用JavaFX的大環(huán)境已經(jīng)具備了。

但是,要想推廣起來或許不是一件容易的事情。Adobe已經(jīng)為Flash和AIR開發(fā)了很好的工具,但是為打造這些工具也花了重金。JavaFX或許能吸引一些年輕的,費(fèi)用不是很充足的美工設(shè)計(jì)人員來使用,因?yàn)樗麄儧]有錢去購買Adobe的軟件套。

不過想要阻止JavaFX的成功還是會(huì)有一些困難的。至于說將來會(huì)不會(huì)取代Flash,Silverlight或者其它的技術(shù)呢?至少不是現(xiàn)在的事情。但是瘦死的駱駝的馬大,雖說Java 目前在界面和分布方法欠改進(jìn),但JavaFX還是會(huì)贏得一些忠實(shí)的粉絲和一席之地的,這就會(huì)讓Java在桌面應(yīng)用程序取得立足之地。

【編輯推薦】

  1. 初探Java企業(yè)級(jí)開源框架OSGi
  2. Java代碼的靜態(tài)編譯和動(dòng)態(tài)編譯中的問題比較
  3. 成為Java高手的25個(gè)學(xué)習(xí)要點(diǎn)
責(zé)任編輯:彭凡 來源: java060515
相關(guān)推薦

2016-04-06 11:07:34

京東京東云云計(jì)算

2014-09-17 13:58:25

linuxWindows

2009-05-14 17:18:09

Linux重裝登場(chǎng)

2019-09-17 19:25:30

希捷

2012-03-31 11:37:14

ibmdw

2020-03-05 10:25:19

勒索軟件網(wǎng)絡(luò)攻擊漏洞

2013-04-16 09:20:14

移動(dòng)開發(fā)快訊Firefox OS

2011-05-13 09:10:45

2009-11-09 08:59:54

2011-06-20 11:39:39

筆記本評(píng)測(cè)

2017-01-22 16:39:08

惠普

2010-08-03 16:09:52

三網(wǎng)融合中國(guó)IDC行業(yè)資訊大全

2009-11-30 12:40:16

互聯(lián)網(wǎng)

2014-08-01 16:14:50

戴爾

2009-12-08 11:35:28

2015-06-12 09:51:56

挑戰(zhàn)速度極限

2009-07-17 09:52:08

Nmap 5.0安全掃描器

2013-06-24 07:20:56

2009-09-22 10:21:15

3A服務(wù)器平臺(tái)AMDFiorano

2011-09-27 21:52:36

高盛達(dá)內(nèi)IT職業(yè)教育
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)