終極報(bào)告:AppStudio類似于移動開發(fā)領(lǐng)域的Visual Basic
譯文NSB/AppStudio憑借其Visual Basic風(fēng)格且支持拖拽操作的IDE方案,顯著簡化了移動Web以及混合型應(yīng)用程序的開發(fā)流程。
遙想1991年剛剛誕生之時,微軟Visual Basic(簡稱VB)憑借著親民化的拖拽操作方式將新手程序員們快速熟悉了如何利用窗口及控件(原本稱為gizmos)實(shí)現(xiàn)Windows環(huán)境下的程序開發(fā)工作。沒錯,這些新手們?nèi)匀恍枰帉懸徊糠执a,但這方面的要求較之前已經(jīng)大幅簡化——而且編碼內(nèi)容為Basic語言,而非語法遠(yuǎn)為復(fù)雜的C語言。
由加拿大NS Basic公司打造的同名語言NS Basic則亮相于1994年,它的出現(xiàn)將與VB風(fēng)格相信的開發(fā)環(huán)境帶入了蘋果設(shè)備。在之后的1998年,該公司又發(fā)布了NS Basic的Windows CE版本,我還曾經(jīng)在《Windows雜志》中對其進(jìn)行過評測。多年以來,該公司陸續(xù)為Palm、塞班以及Windows桌面等系統(tǒng)平臺推出過針對性NS Basic版本,并最終于2010年將NSB/AppStudio正式引入了移動Web開發(fā)環(huán)境當(dāng)中。
目前NSB/AppStudio的最新版本為4.2.9,專門面向移動Web與移動混合應(yīng)用程序的開發(fā)任務(wù)。AppStudio IDE以JavaScript、HTML 5以及WebKit編寫而已,而且能夠運(yùn)行在Windows以及Mac OS X平臺之上。這套方案結(jié)合了易于學(xué)習(xí)、易于使用、免費(fèi)發(fā)布以及價格低廉等優(yōu)勢,這一切幫助AppStudio成為移動Web以及混合應(yīng)用的開發(fā)利器。除此之外,該方案在精神上對VB以及早期Borland可視化編程產(chǎn)品的延續(xù)也讓移動Web與混合開發(fā)機(jī)制被廣大程序員們所接受。
大家可以通過窗體與控件(如圖一所示)以拖拽操作方式實(shí)現(xiàn)可運(yùn)行移動應(yīng)用程序的構(gòu)建,此外我們也能夠在NS Basic——在本質(zhì)上相當(dāng)于具備一系列擴(kuò)展的VBScript——或者JavaScript當(dāng)中進(jìn)行代碼編寫。在應(yīng)用程序發(fā)布或者運(yùn)行時(如圖二所示)當(dāng)中,無論采取本地開發(fā)還是服務(wù)器開發(fā)的方式,任意Basic腳本都能夠被轉(zhuǎn)譯為JavaScript代碼。大家還可以通過該IDE以任意顯示窗體對JavaScript代碼的運(yùn)行結(jié)果加以顯示(如圖三所示)。
圖一。NSB/AppStudio是一套面向移動Web及混合應(yīng)用程序開發(fā)的可拖拽式IDE,其充分繼承了微軟Visual Basic的精神與指導(dǎo)思想。值得注意的是,其窗體設(shè)計(jì)工具、工具箱、項(xiàng)目資源管理器、屬性表以及幫助窗口都與Visual Basic如出一轍。
AppStudio IDE內(nèi)部探秘
在AppStudio IDE(如圖一所示)當(dāng)中,我們可以找到窗體設(shè)計(jì)工具、工具箱、項(xiàng)目資源管理器、屬性表以及幫助窗口,這一切都保持著VB時代的設(shè)計(jì)風(fēng)格、令人一眼望之即生繼續(xù)者之感。該IDE本身并不具備調(diào)試功能,不過大家可以通過瀏覽器(如圖二所示)或者在開發(fā)PhoneGap應(yīng)用程序時利用weinre——一款面向網(wǎng)絡(luò)頁面的遠(yuǎn)程調(diào)試工具——完成相關(guān)任務(wù)。
在友好的界面之下 ,該IDE卻蘊(yùn)藏著強(qiáng)大的能量。右鍵點(diǎn)擊某一控件即可顯示一套文本密集型操作菜單(如圖四所示),允許大家在這里創(chuàng)建并導(dǎo)航至事件處理器、添加組件并調(diào)整當(dāng)前布局。組件選擇可以說相當(dāng)豐富,其中包含近六十款控件,從簡單的標(biāo)簽到復(fù)雜的功能部件再到面向金融服務(wù)以及社交網(wǎng)絡(luò)的接口可謂無所不包。
圖二。運(yùn)行在Chrome瀏覽器下的簡單NSB/AppStudio窗體。請注意,NSB/AppStudio以本地Web服務(wù)器的方式運(yùn)作。
正如前文所言,目前的AppStudio版本允許大家構(gòu)建移動Web應(yīng)用程序以及移動混合應(yīng)用程序。移動混合應(yīng)用程序在運(yùn)作時需要與PhoneGap命令行界面(大家需要在自己的開發(fā)計(jì)算機(jī)或者開發(fā)集群當(dāng)中單獨(dú)安裝)以及Adobe PhoneGap Build服務(wù)相配合。盡管AppStudio在后端服務(wù)方面無法提供太多幫助,但我們?nèi)匀豢梢愿鶕?jù)實(shí)際需求利用AppStudio開發(fā)出具備高復(fù)雜度的應(yīng)用程序。
AppStudio擁有自己的PhoneGap Build標(biāo)記,但如果大家需要為iOS、Android以及Windows Phone應(yīng)用程序商店構(gòu)建應(yīng)用程序產(chǎn)品,則需要將自己的個人PhoneGap Build標(biāo)記粘貼到AppStudio當(dāng)中。(大家可以以月為基礎(chǔ)訂購PhoneGap Build,或者將其作為Greative Cloud訂購服務(wù)的組成部分。)大家還需要將一套蘋果登錄密鑰添加到PhoneGap Build當(dāng)中,而后才能利用其構(gòu)建iOS應(yīng)用程序。除此之外,我們也需要通過一臺Mac設(shè)備將iOS應(yīng)用的最終成品上傳至iOS應(yīng)用程序商店當(dāng)中。
AppStudio當(dāng)中包含超過一百套樣本,其中包括“hello, world”以及相關(guān)控件使用展示、約三十項(xiàng)Web服務(wù)外加十幾套第三方JavaScript庫。其中AppStudio Showcase允許大家體驗(yàn)其他開發(fā)人員利用該產(chǎn)品構(gòu)建出的應(yīng)用成果,其中包含約二十款應(yīng)用——部分免費(fèi),也有部分屬于商用應(yīng)用。
圖三。NSB/AppStudio能夠根據(jù)需求將NSBasic代碼轉(zhuǎn)譯為JavaScript代碼,而后再進(jìn)行應(yīng)用程序的運(yùn)行或者發(fā)布。
一款運(yùn)行在iPad平臺上的食品與飲料訂購應(yīng)用給我留下了一定印象,它能夠通過Wi-Fi網(wǎng)絡(luò)將訂單發(fā)送到餐廳的服務(wù)器端(運(yùn)行有MySQL以及一款監(jiān)聽程序處),而且可以在無Wi-Fi環(huán)境下將訂單暫時緩存在iPad的SQLite數(shù)據(jù)庫當(dāng)中。這款應(yīng)用程序的開發(fā)人員在一個月之內(nèi)就打造出了首個版本并提供給某家餐廳實(shí)際使用。相較于在AppStudio當(dāng)中面對令人頭痛的基礎(chǔ)性構(gòu)建組件,這種開發(fā)方式無疑更好、更便捷。
AppStudio應(yīng)用程序能夠運(yùn)行在以下平臺之上:
配備iOS 4.3或者更高系統(tǒng)版本的iPhone(任意機(jī)型)
配備iOS 4.3或者更高系統(tǒng)版本的iPod Touch(任意機(jī)型)
iPad (任意機(jī)型)
Android 2.3(或者更高系統(tǒng)版本)設(shè)備,在某些早期機(jī)型上可能存在功能受限
Windows Phone devices設(shè)備(功能受限)
此類應(yīng)用程序還能夠運(yùn)行在桌面系統(tǒng)上的Chrome以及Safari瀏覽器當(dāng)中,其中包含全部功能(假設(shè)大家在瀏覽器當(dāng)中開啟了移動設(shè)備模擬功能),而在火狐與IE瀏覽器中功能則受到一定限制。
圖四。右鍵點(diǎn)擊NSB/AppStudio中的某款控件能夠顯示一套文本密集型操作菜單。
部署自己的移動應(yīng)用程序
AppStudio的運(yùn)行菜單選項(xiàng)當(dāng)中包含面向各類服務(wù)器的部署操作以及利用PhoneGap實(shí)現(xiàn)的構(gòu)建機(jī)制。大家可以將應(yīng)用程序部署到AppStudio的nsbapp.com測試服務(wù)器當(dāng)中,也可以部署至自己的服務(wù)器內(nèi)部。接下來,我們可以將應(yīng)用程序下載到自己的設(shè)備處。在成功完成部署之后,AppStudio能夠顯示一條URL以及一組QR碼(如圖五所示),從而簡化在移動設(shè)備端實(shí)現(xiàn)應(yīng)用程序下載的流程。當(dāng)我們重新進(jìn)行部署時,該應(yīng)用程序會在同一位置進(jìn)行刷新。
AppStudio提供持久性名-值對存儲,這是一項(xiàng)實(shí)驗(yàn)性功能(基于MongoDB),但只適用于部署至nsbapp.com中的應(yīng)用程序。我們期待著該功能會在未來發(fā)展當(dāng)中逐步成熟。就目前的情況看,移動后端即服務(wù)很可能由此拉開序幕。
圖五。在成功完成部署后,NSB/AppStudio能夠顯示該應(yīng)用程序的URL以及QR碼,方便用戶通過自己的設(shè)備進(jìn)行掃描。在上圖中,我隱去了自己的個人目錄ID。
由AppStudio創(chuàng)建的移動Web以及混合型應(yīng)用程序在性能表現(xiàn)上同樣出色到令人吃驚,而且其基本上與由其它移動Web應(yīng)用構(gòu)建工具打造的JavaScript成品在性能方面保持一致。這不僅是對JavaScript發(fā)展空間的一種測試,同時也證明了NSBasic擺脫原有陳舊.Net框架實(shí)現(xiàn)機(jī)制、轉(zhuǎn)而邁出JavaScript轉(zhuǎn)譯戰(zhàn)略新方向的正確性。
AppStudio的控件非常值得稱道,但它們與Alpha Anywhere中的某些組件相比仍然略遜一籌——后者已經(jīng)最終實(shí)現(xiàn)了在外觀與使用感受方面的本地化轉(zhuǎn)型,而且能夠?qū)崿F(xiàn)更多高強(qiáng)度功能(例如與數(shù)據(jù)庫相結(jié)合)。大家可以利用jQuery Mobile ThemeRoller對AppStudio應(yīng)用程序的外觀進(jìn)行自定義,但整個實(shí)現(xiàn)過程并不像在個人計(jì)算機(jī)(例如Alpha Anywhere)或者Web IDE(例如Appery.io)上瀏覽CSS主題庫那么輕松。
如果大家剛剛開始涉足移動開發(fā)領(lǐng)域,而且并不具備編程工作背景,那么NSB/AppStudio堪稱最為理想的起步開端。但需要注意的是,它與功能齊全的移動IDE以及移動后端即服務(wù)平臺相比仍然存在著諸多局限,特別是AppStudio缺乏本地移動應(yīng)用的支持能力以及對企業(yè)級功能的整合能力。不過作為僅需要99美元的開發(fā)方案而言,我們也不辦法要求得太多。
NSB/AppStudio 4.2.9 / NS Basic公司單一開發(fā)者售價為99.95美元(提供三十天免費(fèi)試用); 高級支持服務(wù)每月價格為95美元(每月約一小時); 升級費(fèi)用為49.95美元; 教育版(包括教師及全體學(xué)生)為每套299.95美元; 企業(yè)級版本為每個位置899.95美元,其中包含為期十二個月的高級支持服務(wù)。教師可免費(fèi)使用,每位學(xué)生則需支付49.95美元使用費(fèi)。
優(yōu)勢
一套便捷且與Visual Basic高度相似的IDE,能夠在Windows與OS X系統(tǒng)平臺上實(shí)現(xiàn)移動Web及混合應(yīng)用程序開發(fā)。
易于學(xué)習(xí)且易于使用。
能夠與Adobe PhoneGap Builder相結(jié)合。
面向iOS、Android以及Windows Phone設(shè)備。
能夠自動將Basic腳本轉(zhuǎn)譯為JavaScript,而后加以運(yùn)行或者發(fā)布。
缺點(diǎn)
相較于功能齊全的移動IDE以及移動后端即服務(wù)平臺,其功能仍然比較有限。
缺少對本地移動應(yīng)用的支持能力。
缺少與企業(yè)級方案的整合能力。