徐蘊(yùn)淼
摘要:Java 程序設(shè)計(jì)語言在軟件開發(fā)中進(jìn)行應(yīng)用的過程中有著較高的應(yīng)用價(jià)值,能夠同當(dāng)前時(shí)代背景下更多的應(yīng)用需求相適應(yīng),但從目前來看,其在應(yīng)用過程中仍面臨一定的不利因素,基于此,有必要對其展開更加深層次的探索。
關(guān)鍵詞:軟件開發(fā) ;Java 程序設(shè)計(jì)語言;運(yùn)用分析
1Java 程序設(shè)計(jì)語言在軟件開發(fā)中的應(yīng)用方式
1.1提升編程的效率
Java 程序的應(yīng)用最主要的便是提升軟件編程效率,強(qiáng)化對于 Java 程序設(shè)計(jì)語言的應(yīng)用能夠在極大程度上實(shí)現(xiàn)編程效率的提升,有效發(fā)揮出其對于軟件開發(fā)技術(shù)的推動(dòng)作用。
1.2應(yīng)用于計(jì)算機(jī)無線和移動(dòng)工作中
在當(dāng)前大數(shù)據(jù)技術(shù)飛速發(fā)展的時(shí)代背景下,人們開始將注意力和關(guān)注點(diǎn)放在無線和移動(dòng)工作上,移動(dòng)互聯(lián)網(wǎng)應(yīng)用對于企業(yè)未來的發(fā)展有著直接影響。信息時(shí)代中人們在互聯(lián)的需求方面存在著顯著的提升,而企業(yè)的運(yùn)行及發(fā)展效率同樣需要網(wǎng)絡(luò)技術(shù)以及通訊等技術(shù)的支持。Java 程序設(shè)計(jì)語言的應(yīng)用能夠在極大程度上促進(jìn)計(jì)算及無線和移動(dòng)工作的發(fā)展,這不僅能夠切實(shí)提升程序開發(fā)的穩(wěn)定性和實(shí)效性,還能夠?yàn)槠髽I(yè)的發(fā)展創(chuàng)造更加良好的條件。
1.3應(yīng)用于企業(yè)與行業(yè)的發(fā)展中
Java 程序設(shè)計(jì)語言在部分行業(yè)和企業(yè)發(fā)展的過程中有著較為廣泛的應(yīng)用。以 IBM 企業(yè)為例,其通過 Java 程序設(shè)計(jì)語言的應(yīng)用,構(gòu)建起了 IBM 企業(yè)開發(fā)的軟件和能夠與之相適應(yīng)的服務(wù)器,進(jìn)而獲得了更加全面和深層次的發(fā)展。除此以外,Java在電子業(yè)和經(jīng)濟(jì)金融業(yè)等諸多企業(yè)中也有著廣泛應(yīng)用。當(dāng)前已經(jīng)有諸多高校都開設(shè)了Java 程序語言教學(xué)的課程,并培養(yǎng)了諸多專門的人才,在極大程度上轉(zhuǎn)變和改善了學(xué)生的思維方式。在未來,Java 程序設(shè)計(jì)語言的應(yīng)用范圍將會得到進(jìn)一步擴(kuò)展,其技術(shù)也會持續(xù)更新升級,發(fā)揮出其自身的重要作用。
2Java 程序設(shè)計(jì)語言在軟件開發(fā)中的運(yùn)用——以iOS 手機(jī)軟件為例
2.1應(yīng)用思路
通常情況,Java 語言應(yīng)用于Android手機(jī)軟件的開發(fā),而 iOS 則大多會采用Objective-C或者C++語言進(jìn)行開發(fā)。當(dāng)在對一款移動(dòng)端應(yīng)用進(jìn)行制作的時(shí),需要召集兩方客戶端開發(fā)人員,使用兩種開發(fā)語言進(jìn)行功能開發(fā),在各自平臺上分別將相同的邏輯重復(fù)開發(fā)一遍,并且需要保證用戶交互和用戶接口設(shè)計(jì)完全一致。此舉涉及到對于大量人力、財(cái)力和時(shí)間上的浪費(fèi),亟待采用適當(dāng)?shù)姆椒▉斫鉀Q這一問題。在綜合考慮公司自身開發(fā)人員實(shí)際特點(diǎn)以及跨平臺開發(fā)引擎實(shí)際情況的基礎(chǔ)上,選用了 RoboVM 編譯器以及l(fā)ibGDX 游戲引擎。開發(fā)者可以基于 Java 語言對應(yīng)用的邏輯部分進(jìn)行開發(fā),從而達(dá)到“一次編寫、多處復(fù)用”的跨平臺開發(fā)效果。
此舉可以在很大程度上緩解重復(fù)勞動(dòng)的問題,實(shí)現(xiàn)對于時(shí)間、財(cái)力以及人力成本的有效節(jié)約。同時(shí)節(jié)省了不同客戶端平臺用戶界面與用戶體驗(yàn)的差異性對比測試,降低了系統(tǒng)測試成本。與此同時(shí),因?yàn)槌绦虻倪壿嫴糠譃橐惶状a,也能為版本后續(xù)維護(hù)工作創(chuàng)造良好的條件。通過混合編譯技術(shù),RoboVM 編譯器能夠在原有的基礎(chǔ)上對Java 字節(jié)碼進(jìn)行翻譯,使其以ARM 或者是 x86 平臺上原生代碼的形式呈現(xiàn),應(yīng)用能夠 CPU指令集上直接運(yùn)行,不需要對其他虛擬機(jī)或者是解釋器進(jìn)行應(yīng)用。RoboVM 中涉及到一個(gè) Java 到 Objective-C 的橋,可以同其他Java 對象一樣進(jìn)行使用Objective-C 的對象,絕大部分 iOS 開發(fā)的 UIKit 已經(jīng)支持。隨著后續(xù)開發(fā)需求的不斷增加和系統(tǒng)的易用性逐步升級,可以預(yù)見的是未來其他開源框架以及工具包均會提供對RoboVM的支持。
2.2需求分析
本次任務(wù)的主要目標(biāo)便是將某款采用 Java 開發(fā)的游戲向 iOS 平臺上進(jìn)行移植,并使其能夠在蘋果的AppStore應(yīng)用商店上架。該游戲主要是采用 libGDX 引擎開發(fā),并將RoboVM 作為編譯橋接中間件,使其能夠?qū)ava代碼直接在 iOS 平臺上進(jìn)行編譯和運(yùn)行。從本質(zhì)上來看該應(yīng)用有著較強(qiáng)的商業(yè)化特點(diǎn),所以其不僅要能夠成功實(shí)現(xiàn)其最基本的游戲邏輯的移植,還應(yīng)當(dāng)在其中額外引入商業(yè)化的 SDK。包括應(yīng)用內(nèi)計(jì)費(fèi)以及微信分享功能等等,本次的主要任務(wù)便是接入上述幾種商業(yè)化功能。
2.3系統(tǒng)設(shè)計(jì)
2.3.1libGDX 游戲的生命周期
對于游戲開發(fā)來說,相關(guān)設(shè)計(jì)者應(yīng)當(dāng)能夠?qū)τ螒虻纳芷谶M(jìn)行精確掌控,在 libGDX 基礎(chǔ)上所進(jìn)行的游戲開發(fā)中,ApplicationListener主要是對窗口進(jìn)行創(chuàng)建和顯示。在對 libGDX項(xiàng)目進(jìn)行創(chuàng)建的過程中,最初要?jiǎng)?chuàng)建ApplicationListener接口的對象,libGDX 官方給出了相應(yīng)的生命周期。詳細(xì)定義了界面啟動(dòng)、界面暫停、界面恢復(fù)、界面銷毀、資源回收、系統(tǒng)中斷的生命周期處理方法和關(guān)鍵指令調(diào)用機(jī)制。
在正式啟動(dòng)程序的時(shí)候可以對 resize() 方法以及create() 方法進(jìn)行調(diào)用進(jìn)行初始化,而在運(yùn)行的過程中則需要調(diào)動(dòng) render() 方法對游戲邏輯進(jìn)行顯示和運(yùn)行。當(dāng)暫停和恢復(fù)的時(shí)候,則需要分別對 resume() 方法和 pause() 進(jìn)行應(yīng)用,在正式關(guān)閉程序之前應(yīng)當(dāng)對 dispose() 方法進(jìn)行調(diào)用,以達(dá)到銷毀對象的效果。從上述內(nèi)容可以知道, libGDX 自然地以事件為驅(qū)動(dòng),這一點(diǎn)基本上同 JavaScript 與 Android 相似,其沒有較為明顯和突出的主循環(huán),但是ApplicationListener.render() 方法仍然能夠作為主循環(huán)的主體存在。
2.3.2微信分享功能設(shè)計(jì)
微信分享功能設(shè)計(jì)是該項(xiàng)目中至關(guān)重要的組成部分,微信 SDK 文件中主要包含三個(gè)文件,分別包括 libWeChatSDK.a、WXApi.h、WXApiObject.h。微信 SDK 在iOS 方面僅提供了支持 Objective-C 的版本,若想讓它能夠支持 Java 語言,應(yīng)當(dāng)在現(xiàn)有的基礎(chǔ)上進(jìn)行轉(zhuǎn)換編譯,需要實(shí)現(xiàn)對 Objective-C 的項(xiàng)目的各方面實(shí)際情況進(jìn)行了解,并明確如何實(shí)現(xiàn)其同微信平臺之間的有效對接。對 Java 類接入微信SDK 進(jìn)行創(chuàng)建,全面了解微信分享功能的具體內(nèi)容,然后設(shè)計(jì)者則需要用Java 對這些Objective-C 類進(jìn)行二次包裝,使開發(fā)這能夠通過Java語言進(jìn)行開發(fā),通過設(shè)計(jì)者提供的橋接模塊,無感將Java代碼轉(zhuǎn)換為Objective-C代碼,并透傳到微信SDK類庫完成調(diào)用過程。
結(jié)束語
靈活應(yīng)用 Java 程序設(shè)計(jì)語言,能夠有效提升軟件開發(fā)的質(zhì)量和效果,對于未來我國各個(gè)行業(yè)的現(xiàn)代化都起到了積極的促進(jìn)作用。因此,相關(guān)人員應(yīng)當(dāng)加強(qiáng)對其的重視,進(jìn)而為軟件開發(fā)實(shí)效性的提升奠定堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1]陽珊珊,彭忠全.基于就業(yè)導(dǎo)向的Java程序設(shè)計(jì)課程教學(xué)改革探析[J].現(xiàn)代職業(yè)教育,2021(40):54-55.
[2]姚曄.從程序設(shè)計(jì)基礎(chǔ)到Java程序設(shè)計(jì)的課程教學(xué)體系構(gòu)建研究[J].計(jì)算機(jī)時(shí)代,2021(07):95-97.
[3]滿志強(qiáng),張仁偉,劉彥君. Java程序設(shè)計(jì)教程[M].人民郵電出版社:, 201701.482.