目前很多公司的 App 就只使用一個 WebView 作為整體框架, App 中的所有內(nèi)容全部使用 HTML5 進行展示,這樣只需要寫一次 HTML5 代碼,就可以在 Android 和 iOS 平臺上運行,這就是所謂的「 跨平臺 」。隨著 HTML5 的普及,很多 App 都會內(nèi)嵌 WebView 來加載 HTML5 頁面,即 Native 和 HTML5 共存,這就是當(dāng)下最流行的「 混合開發(fā) 」。HTML5 除了開發(fā)簡單,還有一個優(yōu)勢就是迭代方便, 只需要修改服務(wù)端的 HTML5 頁面,App 會同步更新,無論是做活動推廣 App 還是及時修復(fù) Bug 都帶來的極大的便利。不過 HTML5 劣勢也很明顯,受制于國內(nèi)的網(wǎng)速限制。 雖然國內(nèi)已經(jīng)普及了 4g 網(wǎng)絡(luò),但是網(wǎng)速還是不盡如人意。HTML5 加載受限于網(wǎng)絡(luò),沒有原生控件流暢,用戶體驗相對較差, 所以目前完全使用 HTML5 開發(fā) App 并沒有成為主流。我所在的項目組也使用HTML5開發(fā)比較頻繁,這個時候了解WebView使用就變得尤為重要了,而WebView的坑也是非常的多,我在開發(fā)中就遇到了許多莫名其妙的問題。 所以準(zhǔn)備寫幾篇文章總結(jié)一下,文章按照類來進行分類。WebView開發(fā)常用的類是 WebView , WebSettings , WebViewClient , WebChromeClient。
這里是WebView開發(fā)第一篇: WebView 的使用介紹;
A View that displays web pages. This class is the basis upon which you can roll your own web browser or simply display some online content within your Activity. It uses the WebKit rendering engine to display web pages and includes methods to navigate forward and backward through a history, zoom in and out, perform text searches and more.
總結(jié)起來就是:WebView是一個基于WebKit引擎的,并且可以在activity展現(xiàn)Web頁面的控件。
<uses-permission android:name="android.permission.INTERNET" />
3.2 添加布局頁面
這里介紹另外一種方式,通過addView添加進去
1.在布局頁面添加布局
<FrameLayout
android:id="@+id/webViewWrap"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="visible" />
2.實體化webview并添加到布局中
webViewWrap = findViewById(R.id.webViewWrap); //上面的FrameLayout
webView = new WebView(MyApplication.getAppContext()); //使用應(yīng)用上下文,可以防止內(nèi)存泄露,如果傳入activity的上下文,需要將webview remove掉。下面有講解。
webViewWrap.addView(webView);
3.加載頁面
//方式1. 加載一個網(wǎng)頁:
webView.loadUrl("http://www.google.com/");
//方式2:加載apk包中的html頁面
webView.loadUrl("file:///android_asset/test.html");
//方式3:加載手機本地的html頁面
webView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html");
// 方式4: 加載 HTML 頁面的一小段內(nèi)容
WebView.loadData(String data, String mimeType, String encoding)
// 參數(shù)說明:
// 參數(shù)1:一段HTML代碼
// 參數(shù)2:展示內(nèi)容的類型
// 參數(shù)3:字節(jié)碼
到這一步我們就能夠展示一個WebView頁面了,不過是通過外部瀏覽器打開的。但是還有許多優(yōu)化的地方。
//激活WebView為活躍狀態(tài),能正常執(zhí)行網(wǎng)頁的響應(yīng),可以在activity 的回調(diào)方法中調(diào)用
webView.onResume() ;
//當(dāng)頁面被失去焦點被切換到后臺不可見狀態(tài),需要執(zhí)行onPause,可以在activity 的回調(diào)方法中調(diào)用
//通過onPause動作通知內(nèi)核暫停所有的動作,比如DOM的解析、plugin的執(zhí)行、JavaScript執(zhí)行。
webView.onPause();
//當(dāng)應(yīng)用程序(存在webview)被切換到后臺時,這個方法不僅僅針對當(dāng)前的webview而是全局的全應(yīng)用程序的webview
//它會暫停所有webview的layout,parsing,javascripttimer。降低CPU功耗。
webView.pauseTimers()
//恢復(fù)pauseTimers狀態(tài)
webView.resumeTimers();
//銷毀Webview
//在關(guān)閉了Activity時,如果Webview的音樂或視頻,還在播放。就必須銷毀Webview
//但是注意:webview調(diào)用destory時,webview仍綁定在Activity上
//這是由于自定義webview構(gòu)建時傳入了該Activity的context對象
//因此需要先從父容器中移除webview,然后再銷毀webview:
ViewParent parent = mWebView.getParent();
if (parent != null) {
((ViewGroup) parent).removeView(mWebView);// 防止內(nèi)存泄露
}
webView.destroy();
//是否可以后退
Webview.canGoBack()
//后退網(wǎng)頁
Webview.goBack()
//是否可以前進
Webview.canGoForward()
//前進網(wǎng)頁
Webview.goForward()
//以當(dāng)前的index為起始點前進或者后退到歷史記錄中指定的steps
//如果steps為負數(shù)則為后退,正數(shù)則為前進
Webview.goBackOrForward(intsteps)
常見用法:Back鍵控制網(wǎng)頁后退
問題:在不做任何處理前提下 ,瀏覽網(wǎng)頁時點擊系統(tǒng)的“Back”鍵,整個 Browser 會調(diào)用 finish()而結(jié)束自身
目標(biāo):點擊返回后,是網(wǎng)頁回退而不是推出瀏覽器
解決方案:在當(dāng)前Activity中處理并消費掉該 Back 事件
//清除網(wǎng)頁訪問留下的緩存
//由于內(nèi)核緩存是全局的因此這個方法不僅僅針對webview而是針對整個應(yīng)用程序.
Webview.clearCache(true);
//清除當(dāng)前webview訪問的歷史記錄
//只會webview訪問歷史記錄里的所有記錄除了當(dāng)前訪問記錄
Webview.clearHistory();
//這個api僅僅清除自動完成填充的表單數(shù)據(jù),并不會清除WebView存儲到本地的數(shù)據(jù)
Webview.clearFormData();
WebView 的使用介紹就先到這里了,下一篇將會講解WebSettings的使用。
IONIC 3.5框架
IONIC 是目前最有潛力的一款 HTML5 手機應(yīng)用開發(fā)框架。通過 SASS 構(gòu)建應(yīng)用程序,它提供了很多 UI 組件來幫助開發(fā)者開發(fā)強大的應(yīng)用。 它使用 JavaScript MVVM 框架和 AngularJS 來增強應(yīng)用。提供數(shù)據(jù)的雙向綁定,使用它成為 Web 和移動開發(fā)者的共同選擇。Ionic是一個專注于用WEB開發(fā)技術(shù),基于HTML5創(chuàng)建類似于手機平臺原生應(yīng)用的一個開發(fā)框架。Ionic框架的目的是從web的角度開發(fā)手機應(yīng)用,基于PhoneGap的編譯平臺,可以實現(xiàn)編譯成各個平臺的應(yīng)用程序。
在html5移動app開發(fā)中,速度是很重要的。Ionic在最新的移動設(shè)備中表現(xiàn)非常卓越,運行非常流暢。 操作最少的 DOM,非 jQuery,和硬件加速過渡,讓您感覺到用html5開發(fā)的app也可以飛起來。
Ionic可以說是AngularJS移動端解決方案,Ionic 利用 AngularJS創(chuàng)造出一款最適合開發(fā)豐富而強大應(yīng)用的框架。 Ionic不僅如此優(yōu)秀,而且它的核心架構(gòu)也是為開發(fā)專業(yè)應(yīng)用創(chuàng)建,和AngularJS完美融合。
Ionic以流行的原生移動開發(fā)SDK為藍本,使開發(fā)過原生iOS或安卓app的任何人都容易理解。開始只需書寫你的代碼,完成時通過PhoneGap發(fā)布。一次開發(fā),處處運行。
簡潔,簡單,而且實用。 Ionic為所有當(dāng)前移動設(shè)備而設(shè)計,并且呈現(xiàn)完美。伴隨眾多流行移動組件,結(jié)構(gòu),交互規(guī)范,以及華麗的(且可擴展)的主題,你可以更好的定制化APP應(yīng)用。
①下載安裝Node JS 版本6.0以上 安裝完成cmd輸入node -v 顯示對應(yīng)版本即安裝成功
②安裝ionic和Cordova
Cmd 輸入npm install -g ionic cordova 經(jīng)過漫長的等待,會提示安裝成功
③創(chuàng)建ionic項目
Cmd窗口 cd項目創(chuàng)建的目錄 輸入ionic start project_name [template]
template是內(nèi)置的模板類型:blank/sidemenu/tabs/(default)三種
Ionic3常用命令npm install -g cnpm --registry=https://registry.npm.taobao.org(npm鏡像源指向淘寶) cnpm install -g cordova ionic(安裝cordova ionic) cnpm update -g cordova ionic(更新cordova ionic) ionic -help(查看幫助) ionic -v(查看版本) ionic start myionictest blank(空項目) ionic start myionictest tabs(帶導(dǎo)航條) ionic start myionictest sidemenu(帶側(cè)滑菜單) ionic g page login(添加頁面)ionic g provider BaseService(添加服務(wù)端口)ionic platform add androidionic platform add android(添加android平臺) ionic platform remove android(移除android平臺) ionic build android(編譯項目apk) ionic emulate android(運行項目apk 手機連接在手機運行模擬器連接在模擬器運行) ionic run android (相當(dāng)于build + emulate) ionic serve(開啟服務(wù)調(diào)試)
PS:
WebStorm 2017.02
Android:①JDK1.8 ②Android SDK (API25 具體看項目)
Ios:①Xcode ②Developer Program
按照官網(wǎng)命令ionic start創(chuàng)建項目后生成如下結(jié)構(gòu)樹:
hooks:編譯cordova時自定義的腳本命令,方便整合到我們的編譯系統(tǒng)和版本控制系統(tǒng)中
node_modules :node各類依賴包
resources :android/ios 資源(更換圖標(biāo)和啟動動畫)
src:開發(fā)工作目錄,頁面、樣式、腳本和圖片都放在這個目錄下
www:文靜態(tài)件
platforms:生成android或者ios安裝包路徑( platforms\android\build\outputs\apk:apk所在位置)
plugins:插件文件夾,里面放置各種cordova安裝的插件
config.xml: 配置文件
package.json: node安裝模塊時的依據(jù)
tsconfig.json: TypeScript項目的根目錄,指定用來編譯這個項目的根文件和編譯選項
tslint.json:格式化和校驗typescript
src工作目錄:
app:應(yīng)用根目錄
assets:資源目錄(靜態(tài)文件(圖片,js框架。。。)各種需要放置在此文件夾內(nèi),不然會出錯,(尷尬。。。)
pages:頁面文件,放置編寫的頁面文件,包括:html,scss,ts。(搞事情的)
theme:主題文件,里面有一個scss文件,設(shè)置主題信息。
Angular4 架構(gòu)詳解
官方架構(gòu)圖:
這個架構(gòu)圖展現(xiàn)了 Angular 應(yīng)用中的 8 個主要構(gòu)造塊:
· 模塊 (module)
· 組件 (component)
· 模板 (template)
· 元數(shù)據(jù) (metadata)
· 數(shù)據(jù)綁定 (data binding)
· 指令 (directive)
· 服務(wù) (service)
· 依賴注入 (dependency injection)
接下來我按順序并結(jié)合圖來講解一下。
Angular 或者 ionic 新建的項目,都會存在一個根模塊,默認名是 AppModule。如果你使用了模塊化來創(chuàng)建應(yīng)用,包括 AppModule,每個都會存在一個 @NgModule 裝飾器的類(雖然他很像 java 中的注解,但是他的官方命名叫裝飾器)。我們新建的頁面,如果不使用懶加載,都要在 @NgModule 中先聲明后使用。
下面舉個例子,簡單介紹一下 @NgModule 中的內(nèi)容
?imports 本模塊聲明的組件模板需要的類所在的其它模塊
?providers 服務(wù)的創(chuàng)建者,并加入到全局服務(wù)列表中,可用于應(yīng)用任何部分。
?declarations 聲明本模塊中擁有的視圖類。Angular 有三種視圖類:組件、指令和管道。
?exports declarations 的子集,可用于其它模塊的組件模板。
?bootstrap 指定應(yīng)用的主視圖(稱為根組件),它是所有其它視圖的宿主。只有根模塊才能設(shè)置 bootstrap 屬性。
PS:在圖中的意義:看圖左上角,模塊是用來接收一個用來描述模塊屬性元數(shù)據(jù)對象的。
這次我們把這三點一起來講,先看一下這段代碼
Component組件是一個裝飾器,他能接受一個配置對象, Angular 會基于這些信息創(chuàng)建和展示組件及其視圖。
· selector:CSS 選擇器,它告訴 Angular 在父級 HTML 中查找 <hero-list> 標(biāo)簽,創(chuàng)建并插入該組件。
· templateUrl:組件 HTML 模板的模塊相對地址,如果使用 template 來寫的話是用"`"這個符號來直接編寫 HTML 代碼。
· providers:組件所需服務(wù)的依賴注入。
template模板就是那段 HTML 代碼,可以用 templateUrl 引入外面的,也可以用 template`` 直接寫。
metadata元數(shù)據(jù)裝飾器用類似的方式來指導(dǎo) Angular 的行為。 例如 @Input、@Output、@Injectable 等是一些最常用的裝飾器,用法就不在這里展開了。
PS:在圖中的意義:看圖中間那一塊,模板、元數(shù)據(jù)和組件共同描繪出這個視圖。
這里一共展示四種數(shù)據(jù)綁定,看一下示例代碼:
后臺ts:
可能大家對各種括號看的眼花了,總結(jié)一下:
1. 雙花括號是單向綁定,傳遞的是值。方向是組件 -> 模板。
2. 方括號是單向綁定,傳遞的是屬性。方向是父組件 -> 子組件。
3. 圓括號是事件綁定,處理點擊等活動(action)。
4. 方括號套圓括號是雙向綁定,方向是組件 <-> 模板。
PS:在圖中的意義:看圖中間那一塊,數(shù)據(jù)綁定給模板和組件提供數(shù)據(jù)交互的方式。
嚴(yán)格來說組件就是一個指令,但是組件非常獨特,并在 Angular 中位于中心地位,所以在架構(gòu)概覽中,我們把組件從指令中獨立了出來。我們這里提到的指令有兩種類型:結(jié)構(gòu)型 structural 指令和屬性 attribute 型指令。放一下原文證明一下組件確實算是一個指令:
While a component is technically a directive, components are so distinctive and central to Angular applications that this architectural overview separates components from directives.Two other kinds of directives exist: structural and attribute directives.
結(jié)構(gòu)型指令是 ngFor、ngIf 這種的,通過在 DOM 中添加、移除和替換元素來修改布局。
屬性型指令是 ngModel 這種的,用來修改一個現(xiàn)有元素的外觀或行為。
Angular 還有少量指令,它們或者修改結(jié)構(gòu)布局(例如 ngSwitch ), 或者修改 DOM 元素和組件的各個方面(例如 ngStyle 和 ngClass)。
PS:在圖中的意義:看圖右上角那一塊,組件是一個帶模板的指令,只是擴展了一些面向模板的特性。
官方文檔的概念:服務(wù)是一個廣義范疇,包括:值、函數(shù),或應(yīng)用所需的特性。服務(wù)沒有什么特別屬于 Angular 的特性。Angular 對于服務(wù)也沒有什么定義,它甚至都沒有定義服務(wù)的基類,也沒有地方注冊一個服務(wù)。
這就像你在 iOS 或者 Android 里單獨建了一個類叫 httpService ,封裝了網(wǎng)絡(luò)請求服務(wù)一樣,不是具體的什么東西,就是一個概念了解下就行。
PS:在圖中的意義:看圖左下角角那一塊,服務(wù)是用來封裝可重用的業(yè)務(wù)邏輯。
依賴注入是提供類的新實例的一種方式,還負責(zé)處理類所需的全部依賴。大多數(shù)依賴都是服務(wù)。 Angular 使用依賴注入來提供新組件以及組件所需的服務(wù)。
比如我們要給某組件導(dǎo)入 ContactServiceProvider這個服務(wù),看這段代碼:
這個constructor就是構(gòu)造函數(shù),依賴注入在 constructor 中進行。你也許會覺得前面寫上 private、public 之類的很怪,這是 TypeScript 語法比較特殊,習(xí)慣就好。
當(dāng) Angular 創(chuàng)建組件時,會首先為組件所需的服務(wù)請求一個注入器 injector。我們必須先用注入器 injector 為 ContactServiceProvider注冊一個提供商 provider。
看一下下面的代碼,
PS:在圖中的意義:看圖左下角角那一塊,依賴注入主要用來導(dǎo)入服務(wù)。
推薦一些學(xué)習(xí)資源
官方文檔,內(nèi)容很全,需要一定的時間進行閱讀。
官方文檔,至少要把 TS 的基本語法要去掌握了。
根據(jù)官網(wǎng)翻譯,基本知識很全,需要掌握。
款app開發(fā)平臺各有特色:ZohoCreator低代碼開發(fā)環(huán)境,支持多平臺;AppCan跨平臺,可視化開發(fā);APICloud支持Hybrid開發(fā),云端服務(wù);Taro多端統(tǒng)一開發(fā),框架靈活;AppPark圖形化操作,集成API;DCloudHBuilderX高效前端開發(fā)工具,原生能力訪問。
Zoho Creator是一個強大的低代碼開發(fā)平臺,用于快速構(gòu)建定制化的業(yè)務(wù)應(yīng)用程序。
產(chǎn)品主要特點:
1、低代碼開發(fā)環(huán)境
Zoho Creator允許用戶通過拖拽式的界面和最少的手動編碼來設(shè)計和開發(fā)應(yīng)用。這意味著即使是非技術(shù)人員也能快速創(chuàng)建復(fù)雜的業(yè)務(wù)應(yīng)用。
2、Deluge編程語言
平臺內(nèi)置了Deluge這一專為業(yè)務(wù)邏輯設(shè)計的編程語言。Deluge使用類似自然語言的語法,使得編寫計算邏輯、工作流和數(shù)據(jù)處理規(guī)則變得簡單直觀。
3、多平臺兼容性
開發(fā)的應(yīng)用可以同時部署在Web、Android和iOS平臺上,確保跨設(shè)備的一致性和無縫體驗。這得益于Zoho Creator的跨平臺編譯能力。
4、豐富的預(yù)制模板和組件
提供超過60個行業(yè)的應(yīng)用模板,覆蓋CRM、ERP、庫存管理等多種業(yè)務(wù)場景,用戶可以直接使用或進行定制,大大加快開發(fā)速度。
5、強大的數(shù)據(jù)管理和分析
內(nèi)置的數(shù)據(jù)管理系統(tǒng)支持實時數(shù)據(jù)查看、高級過濾、排序以及報表和儀表盤的創(chuàng)建,幫助企業(yè)更好地理解和分析業(yè)務(wù)數(shù)據(jù)。
6、豐富的集成
Creator 提供600多個預(yù)構(gòu)建的集成,而且支持將來自多個數(shù)據(jù)源(數(shù)據(jù)庫、API、舊有 ERP 和云服務(wù))的大量數(shù)據(jù)聚集到具有洞察力的 Web 和可移動的儀表板中。
AppCan是國內(nèi)較早的移動應(yīng)用開發(fā)平臺之一,支持跨平臺開發(fā),提供云服務(wù)和企業(yè)移動解決方案。
產(chǎn)品主要特點:
1、跨平臺開發(fā)能力
AppCan支持一次開發(fā),多平臺部署,能夠同時適配iOS、Android、Windows Phone等主流移動操作系統(tǒng)。
2、可視化IDE與拖拽式開發(fā)
AppCan提供了一個用戶友好的集成開發(fā)環(huán)境(IDE),支持拖拽式組件布置和界面設(shè)計,使得開發(fā)者即便不具備深厚的編程基礎(chǔ),也能通過簡單的操作快速構(gòu)建應(yīng)用界面和邏輯。
3、豐富的插件庫與API支持
平臺包含豐富的預(yù)置插件和API接口,涵蓋了地圖、社交、支付等多種功能,便于開發(fā)者根據(jù)應(yīng)用需求快速集成和擴展功能。
4、性能限制
相較于原生應(yīng)用,在某些復(fù)雜場景下可能存在性能瓶頸,特別是在圖形渲染和動畫處理方面。
APICloud可以提供一站式移動app開發(fā)服務(wù),支持Hybrid開發(fā)模式,擁有豐富的插件市場和云服務(wù)。
產(chǎn)品主要特點:
1、快速開發(fā)與多端兼容
APICloud允許使用HTML5、CSS和JavaScript等Web技術(shù)進行開發(fā),實現(xiàn)了跨平臺的快速應(yīng)用構(gòu)建,能夠同時適應(yīng)iOS和Android等多個操作系統(tǒng),大大縮短了開發(fā)周期。
2、云端服務(wù)與持續(xù)集成
APICloud提供了云端的開發(fā)、測試、打包與發(fā)布服務(wù),支持版本管理、真機調(diào)試和自動化測試等功能,有利于團隊協(xié)作和敏捷開發(fā)流程。
3、高性能渲染引擎
APICloud采用優(yōu)化的渲染引擎,提升Web應(yīng)用在原生環(huán)境中的運行性能,力求接近原生應(yīng)用的用戶體驗,同時支持離線包和動態(tài)加載機制。
4、性能挑戰(zhàn)
對于極度依賴系統(tǒng)底層功能或需要高性能圖形處理的應(yīng)用(如大型游戲、復(fù)雜的視頻編輯等),可能無法達到與原生應(yīng)用同等的性能表現(xiàn)。
Taro是騰訊推出的一套支持多端統(tǒng)一開發(fā)的框架,使用React開發(fā),能編譯到微信小程序、H5、React Native等多個平臺。
產(chǎn)品的主要特點:
1、多端統(tǒng)一開發(fā)
Taro最顯著的特點是支持使用一套代碼基底來開發(fā)跨平臺應(yīng)用,包括微信小程序、H5、React Native應(yīng)用等。
2、框架靈活性
Taro支持使用React、Vue、Nerv等前端框架進行開發(fā),開發(fā)者可以根據(jù)團隊熟悉的技術(shù)棧選擇合適的框架,這為項目啟動提供了高度的靈活性和自由度。
3、豐富的生態(tài)
Taro社區(qū)活躍,擁有豐富的插件和UI組件庫,能夠滿足大部分開發(fā)需求。
4、學(xué)習(xí)曲線陡峭
盡管Taro努力提供一致的開發(fā)體驗,但由于需要適配多端,其框架和API設(shè)計相比單一平臺的原生開發(fā)可能會顯得更為復(fù)雜。
AppPark是一款專注于APP在線制作的平臺,提供圖形化操作界面,無需編程基礎(chǔ)即可制作簡單的APP。
產(chǎn)品的主要特點:
1、豐富的UI組件庫
AppPark平臺提供了從基礎(chǔ)到高級的大量UI組件,例如Button、TextField、ListView、TabBar、Drawer、DropdownButton等,這些組件讓開發(fā)者能快速搭建界面,提高開發(fā)效率。
2、集成的API接口
平臺集成了網(wǎng)絡(luò)請求、數(shù)據(jù)存儲、權(quán)限管理等多種API接口,簡化了開發(fā)流程,讓開發(fā)者無需深入了解底層實現(xiàn)就能完成功能開發(fā),降低了技術(shù)門檻。
3、PaaS平臺優(yōu)勢
作為PaaS平臺,AppPark支持快速開發(fā)和部署,減輕了開發(fā)者在基礎(chǔ)設(shè)施管理上的負擔(dān),并且具備彈性伸縮能力,可根據(jù)應(yīng)用需求自動調(diào)整資源。
4、性能瓶頸
在處理圖形密集型或高性能需求的應(yīng)用時,可能在某些場景下存在性能瓶頸,因為額外的抽象層和框架可能會引入一定的開銷。
DCloud HBuilder X是國產(chǎn)的高效前端開發(fā)工具,特別適合開發(fā)快應(yīng)用、微信小程序、WebApp及各種移動APP。
產(chǎn)品的主要特點:
1、跨平臺開發(fā)
HBuilder X支持一次編寫,多平臺運行的能力,允許開發(fā)者使用同一套代碼基底開發(fā)iOS、Android以及Web應(yīng)用,顯著提高了開發(fā)效率和降低了維護成本。
2、高效易用的開發(fā)環(huán)境
提供了一個集成開發(fā)環(huán)境(IDE),內(nèi)置豐富的組件庫和模板,使得快速構(gòu)建界面和實現(xiàn)功能變得簡單直觀。同時,它擁有強大的代碼編輯器和調(diào)試工具,支持智能提示、語法高亮等功能,加速了開發(fā)進程。
3、原生能力訪問
HBuilder X允許開發(fā)者輕松調(diào)用設(shè)備的原生功能,如攝像頭、GPS定位、傳感器等,這使得基于Web技術(shù)開發(fā)的應(yīng)用能夠擁有接近原生應(yīng)用的性能和用戶體驗。
4、定制化局限
在高度定制化方面可能會有所限制,有時需要更多工作來繞過框架的限制或深入學(xué)習(xí)框架底層以實現(xiàn)特定需求。
以上六款app開發(fā)平臺盤點,你更喜歡哪一款?
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。