您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Flex程序員應(yīng)該知道的事情有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
1.重新定義:Flex是web標(biāo)準(zhǔn)
MXML是Flex應(yīng)用的標(biāo)準(zhǔn)語(yǔ)言,它允許開(kāi)發(fā)人員開(kāi)發(fā)應(yīng)用程序架構(gòu),不僅包括表現(xiàn)層也包括classstructure。這對(duì)web設(shè)計(jì)類(lèi)的人和后臺(tái)開(kāi)發(fā)的人來(lái)說(shuō)很容易,因?yàn)镸XMLmarkup與HTML很類(lèi)似。同樣的,F(xiàn)lex內(nèi)的ActionScript與JavaScript也很有可比性,而且Flex使用web標(biāo)準(zhǔn)的CSS來(lái)控制表現(xiàn)層。它也是構(gòu)建應(yīng)用架構(gòu)的好方法,因?yàn)檎Z(yǔ)言的樹(shù)形特性使它很好地融合了一個(gè)典型的應(yīng)用container-component模型。因此,源代碼易于發(fā)布,因?yàn)樗皇且粋€(gè)二進(jìn)制的IDE特定文件,而是適合人讀的文本文件。
值得一提的是,MXML是ActionScript某種程度上的簡(jiǎn)約表示,后者是ECMA從屬的腳本語(yǔ)言。這是因?yàn)镸XML在編譯時(shí)間轉(zhuǎn)換為ActionScript3,因此即使沒(méi)有用過(guò)和學(xué)過(guò)MXML,也完全可能使用ActionScript3來(lái)構(gòu)建Flex應(yīng)用。然而對(duì)許多應(yīng)用而言,使用MXML結(jié)合ActionScript是常用的方法。
2.Flex是Flash,然后是別的什么
如果你對(duì)Flash一直以來(lái)的輕量級(jí)矢量動(dòng)畫(huà)和優(yōu)良的用戶界面很熟悉,你就不會(huì)對(duì)Flex感到陌生。Flex是在FlashPlayer基礎(chǔ)上建立的,后者是所有Flash內(nèi)容的引擎。所以,沒(méi)有什么Flash能做到而Flex做不到的東西。
所有Flash中的顯示編程、API畫(huà)圖和動(dòng)畫(huà),F(xiàn)lex也完全可用。然而,F(xiàn)lex還為Flash應(yīng)用提供了架構(gòu),提供一整套用于幫助開(kāi)發(fā)者寫(xiě)出強(qiáng)大和可擴(kuò)展應(yīng)用的界面組件和容器。
3.Flex很能干
許多公司將他們的軟件從Java移植到Flex。這是因?yàn)镕lex能夠提供許多跟Java一樣的性能,如跨操作系統(tǒng)的"writeonce"能力和面向?qū)ο蟮募軜?gòu),但Flex的包小得多而且可以下載許多額外包。Flex應(yīng)用既能用于web端軟件也能用于桌面端軟件(與AdobeAIR)而且這樣做可以利用一個(gè)單獨(dú)的codebase。
由于Flex構(gòu)建在處處可見(jiàn)的FlashPlayer之上,所以無(wú)論你寫(xiě)的是什么都能在安裝了它的機(jī)子上運(yùn)行,而且?guī)в蠪lashPlayer9的電腦(大部分是能上網(wǎng)的機(jī)子)達(dá)到了高達(dá)90%的比率。FlashPlayer使你免于不同瀏覽器轉(zhuǎn)換的弊病,使你的軟件免于愚蠢的bug和冗長(zhǎng)的代碼,并且避免由于新瀏覽器的發(fā)布而重寫(xiě)代碼,而且動(dòng)??和音效在每臺(tái)機(jī)子上都播放得一樣好。當(dāng)你為AdobeAIR寫(xiě)代碼的時(shí)候,你就立刻擁有了一個(gè)跨操作系統(tǒng)的桌面應(yīng)用,能夠一舉運(yùn)行在MacOSX、Windows和Linux系統(tǒng)上。
4.Flex與服務(wù)器無(wú)關(guān)
Flex程序員應(yīng)該知道Flex為數(shù)據(jù)而生,它可以以大多數(shù)常見(jiàn)的格式、跟所有常見(jiàn)的服務(wù)器交互來(lái)接受數(shù)據(jù)。這包括本地和遠(yuǎn)程下載的XML、JSP、PHP、ASP還是ColdFusion你自己說(shuō)了算。你可以通過(guò)HTTP或者SOAPweb服務(wù)器下載信息,甚至可以直接與Java服務(wù)器對(duì)象交互或者在線轉(zhuǎn)換二進(jìn)制數(shù)據(jù)。AdobeAIR能向SQLLite數(shù)據(jù)庫(kù)讀和寫(xiě)。如果你有個(gè)特別的back-end服務(wù)器,F(xiàn)lex也可能會(huì)用他們而且大多數(shù)情況下操作都很簡(jiǎn)單。
如果有框架中的一套優(yōu)秀服務(wù)組件,多半你能夠用幾行代碼就獲取到你的數(shù)據(jù),并且直接綁定到UI組件。如果你需要更多精細(xì)的控制,你也能夠連接到二進(jìn)制插口而且甚至下載文件(在FlashPlayer10)。
5.Flex就是你想要的樣子
Flex程序員應(yīng)該知道Flex應(yīng)用的默認(rèn)界面是可以配置的。由于內(nèi)核的可編程性皮膚,F(xiàn)lex應(yīng)用可以被調(diào)整到你喜歡的樣子——這兒那兒改改顏色、修改下透明度、改下UI控制的外形和尺寸,所有這些可以通過(guò)標(biāo)準(zhǔn)的CSS來(lái)實(shí)現(xiàn)。CSS并非一個(gè)需求,因?yàn)镸XML允許開(kāi)發(fā)者通過(guò)簡(jiǎn)單的標(biāo)示來(lái)調(diào)整樣式和皮膚。如果你使用FlexBuilder,你的應(yīng)用就有一個(gè)完整的WYSIWYG編譯器,你能借此制作和插入圖形并且擁有所有為你編寫(xiě)的CSS。除此之外,F(xiàn)lex應(yīng)用還有一堆主題布景,使得你只需要一行MXML代碼就可以改變整個(gè)外觀。
值得一提的是,F(xiàn)lex不像Java和JavaScript,它不從所在的操作系統(tǒng)繼承UI。也就是說(shuō),一個(gè)運(yùn)行在MacOSX的Flex應(yīng)用不會(huì)有像Mac按鍵的按鍵,呼叫FlexAlert也不會(huì)呈現(xiàn)Macalert表。Flex有其內(nèi)置的界面,但是如果操作系統(tǒng)的樣子是你想要的,那也有一些主題可以讓你很接近操作系統(tǒng)的樣子。
6.Flex輕便快捷
由于構(gòu)建于ActionScript3之上,所以Flex框架出奇地快。ActionScript3顯著提高了初始化時(shí)間,內(nèi)置對(duì)延遲實(shí)例化的支持作用也很明顯。使用了一個(gè)全新的JIT(Just-in-Time)編譯器,你的代碼運(yùn)行得會(huì)非常快。富數(shù)據(jù)可視化和***的動(dòng)畫(huà)可以不要?jiǎng)佑糜脩舻腃PU來(lái)完成。由于之前的3D動(dòng)畫(huà)始終是個(gè)瓶頸,F(xiàn)lash20中的全新支持將解決這個(gè)問(wèn)題。甚至還有圖像的硬件加速器來(lái)充分利用現(xiàn)代的圖形處理卡(顯卡)。
盡管有人有爭(zhēng)議,但Flex的確很輕。使用一套UI組件將肯定比從零做起的ActionScript代碼大,但考慮到它們的強(qiáng)大,這些組件確實(shí)很小。實(shí)際上,使用一個(gè)AJAX框架構(gòu)建的典型應(yīng)用經(jīng)常比一個(gè)小的Flex應(yīng)用大。盡管FlashPlayer經(jīng)常預(yù)裝在電腦里,但它也不過(guò)是幾個(gè)兆字節(jié)的下載。值得一提的是還有個(gè)叫做框架緩存(frameworkcaching)的新組件,能為框架組件取出相當(dāng)部分的下載。這個(gè)特性能夠在用戶的電腦上存儲(chǔ)標(biāo)準(zhǔn)的FlexUI組件,從而其他的Flex應(yīng)用可以迅速下載,而不用下載整個(gè)框架。
7.無(wú)障礙的Flex
有一段時(shí)間,關(guān)于Flash能否為殘障人士所用的爭(zhēng)論很多,而且理由不少。Flash內(nèi)容經(jīng)常被誤解為骨子里就不能讓殘障人士使用,但這種觀點(diǎn)實(shí)際上是遠(yuǎn)離事實(shí)的。隨著用戶渴望得到的越來(lái)越多,F(xiàn)lash能夠與屏幕閱讀器“互動(dòng)”。實(shí)際上,F(xiàn)lex框架的組件有一個(gè)很棒的輔助工具,可以為屏幕閱讀器和鍵盤(pán)提供導(dǎo)航,大部分Flex開(kāi)發(fā)者需要做的只是開(kāi)啟這個(gè)工具(默認(rèn)選項(xiàng)是關(guān)閉的)。
與許多AJAX組件相比,F(xiàn)lex更有親和力。這是因?yàn)镠TML通過(guò)創(chuàng)建JavaScript框架,經(jīng)常破壞許多本地的殘障人士支持特性。相比較而言,F(xiàn)lex從已開(kāi)始骨子里就內(nèi)建了對(duì)殘障人士的支持。
8.Flex是SEO兼容的
過(guò)去,在FlashPlayer上構(gòu)建一個(gè)網(wǎng)址是搜索引擎***化(SEO)的夢(mèng)魘。這是因?yàn)橛脕?lái)瀏覽web頁(yè)面的軟件通?!安徽J(rèn)識(shí)”.swf文件,后者是Flex應(yīng)用編譯成的二進(jìn)制文件?,F(xiàn)代的搜索引擎最終加入了閱讀.swf文件的功能,比如超鏈接和大量文本,這多少起了些作用。
然而,完全使用Flash/Flex構(gòu)建網(wǎng)站的問(wèn)題在于,不同網(wǎng)址的瀏覽關(guān)系比如site—tabs是不被搜索引擎理解的,引擎認(rèn)為這只是一個(gè)單獨(dú)的頁(yè)面(也許有點(diǎn)文本)??紤]到Flex應(yīng)用編譯的方法,.swf的可讀性變得更加困難。就在最近,Adobe針對(duì)搜索引擎機(jī)器人推出了一款特殊版本的FlashPlayer,它能夠讓引擎搜索得更加深入從而迅速返回***的搜索結(jié)果。然而如果SEO只是你的最初目標(biāo),那么完全使用Flash來(lái)構(gòu)建網(wǎng)頁(yè)是不可取的。使用HTML夾雜Flash內(nèi)容才是更好的方法,或者也可以用HTML來(lái)構(gòu)建主頁(yè),用Flash來(lái)構(gòu)建某些部分。注意,MXML代碼編譯成.swf,這種標(biāo)示搜索引擎是不認(rèn)的。
9.Flex是免費(fèi)的,開(kāi)源的
Flex程序員應(yīng)該知道Flex的整個(gè)框架的源代碼是公開(kāi)的,同樣FlexSDK和FlexBuilder的每個(gè)copy也都是公開(kāi)的。這意味著你可以從內(nèi)部看到它們是怎么工作的,以及框架的debug過(guò)程,甚至你可以為個(gè)人用途而修改它們。Flex也是免費(fèi)的——使用FlexSDK開(kāi)發(fā)是免費(fèi)的,也可以使用免費(fèi)的mxmlc編??器來(lái)編譯。不同于早期的版本,F(xiàn)lex也不再需要特殊的服務(wù)器。你可以輕易地創(chuàng)建一個(gè)編譯應(yīng)用并發(fā)布到你想要的服務(wù)器上。當(dāng)然,如果你決定使用基于Eclipse的IDE開(kāi)發(fā),那么FlexBuilder的一個(gè)copy是付費(fèi)的。但這個(gè)費(fèi)用不高,而且這個(gè)最初的開(kāi)發(fā)工具最近又降價(jià)了。
10.Flex易于學(xué)習(xí)
Flex,我敢說(shuō),很容易學(xué)。MXML非常易于理解,去除了用純ActionScript開(kāi)發(fā)的許多復(fù)雜的語(yǔ)法。如果你曾用過(guò)HTML和CSS,再學(xué)Flex你就已經(jīng)算會(huì)了一半。一旦你學(xué)了MXML的基礎(chǔ),你就可以開(kāi)始學(xué)習(xí)ActionScript來(lái)讓你的應(yīng)用更具交互性。Flex框架提供了一整套用戶界面組件來(lái)加快開(kāi)發(fā)過(guò)程,學(xué)習(xí)它們的基本使用也是非常簡(jiǎn)單的。
感謝各位的閱讀!關(guān)于“Flex程序員應(yīng)該知道的事情有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。