1. Spring

成都創(chuàng)新互聯(lián)專注于南票企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開(kāi)發(fā)。南票網(wǎng)站建設(shè)公司,為南票等地區(qū)提供建站服務(wù)。全流程定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
Spring框架是一款功能強(qiáng)大的輕量級(jí)Web應(yīng)用開(kāi)發(fā)框架。面對(duì)需要高性能的復(fù)雜Web應(yīng)用需求,Spring能夠提供出色的開(kāi)發(fā)服務(wù),因此它在各個(gè)框架中能夠脫穎而出。Spring框架的核心宗旨是使得Java開(kāi)發(fā)人員可以輕松地創(chuàng)建出企業(yè)級(jí)的應(yīng)用程序。
Spring提供了包括:Spring MVC、Spring Core、Spring Security、Spring Transaction、Spring Boost、以及Spring ORM在內(nèi)的許多模塊,以方便企業(yè)應(yīng)用根據(jù)實(shí)際情況靈活選用。如果您想深入了解其具體的使用場(chǎng)景和用法的話,可以參見(jiàn)《Spring框架注釋指南(A Guide to Spring Framework Annotations)》。
優(yōu)點(diǎn)
它提供了一個(gè)輕量級(jí)的容器,用戶無(wú)需使用Web服務(wù)器、或應(yīng)用服務(wù)器軟件,即可啟動(dòng)之。
由于支持JDBC,因此可提高實(shí)際應(yīng)用的生產(chǎn)率,并減少錯(cuò)誤率。
Spring能夠同時(shí)支持XML,以及基于注釋的配置。
它提供了代碼的向后兼容性,和可測(cè)試性。
2. JSF(Java Server Faces)
由Oracle開(kāi)發(fā)的Java Server Faces(JSF),可用于創(chuàng)建企業(yè)級(jí)的應(yīng)用程序、各種原生應(yīng)用、以及Web應(yīng)用的開(kāi)發(fā)。它往往也被用于為基于Java的應(yīng)用開(kāi)發(fā)用戶界面。
作為一款穩(wěn)定的、且基于組件的MVC框架,JSF具有一種清晰的體系結(jié)構(gòu),用戶可以用它來(lái)明確地區(qū)分出目標(biāo)應(yīng)用的邏輯和表示。
JSF只需通過(guò)拖放UI組件,即可幫助開(kāi)發(fā)人員創(chuàng)建用戶界面。開(kāi)發(fā)者無(wú)需掌握諸如:HTML、CSS、JavaSript之類的高級(jí)客戶端技術(shù)知識(shí),便可用它來(lái)簡(jiǎn)化應(yīng)用程序的表示層,并進(jìn)行開(kāi)發(fā)。
優(yōu)點(diǎn)
JSF是Java EE的組成部分。
它提供了出色的工具和豐富的庫(kù)。
由于允許用戶使用Web界面,來(lái)擴(kuò)展現(xiàn)有的后端Java代碼,因此用戶不必通過(guò)引入新的框架,來(lái)更改基本的應(yīng)用程序。
3. Google Web Toolkit
Google Web Toolkit(GWT)是一個(gè)完全免費(fèi)的,流行且開(kāi)源的Web框架。它可以幫助開(kāi)發(fā)人員針對(duì)Java Ajax應(yīng)用進(jìn)行開(kāi)發(fā)和調(diào)試。
借助GWT,您可以編寫出各種復(fù)雜的、基于瀏覽器的應(yīng)用程序,而無(wú)需具備JavaScript等前端技術(shù)方面的專業(yè)知識(shí)。
當(dāng)然,GWT也有一些獨(dú)特的功能,其中包括:跨瀏覽器的可移植性、歷史記錄的管理、國(guó)際化、以及書(shū)簽。許多Google產(chǎn)品,包括:AdSense、Google Wallet、以及Blogger都是使用GWT編寫的。
優(yōu)點(diǎn)
開(kāi)源且完全免費(fèi)。
對(duì)開(kāi)發(fā)人員十分友好。
支持常見(jiàn)的Web開(kāi)發(fā)任務(wù)重用。
Google API可以在GWT應(yīng)用程序中被使用。
提供國(guó)際化、跨瀏覽器的可移植性、UI抽象、書(shū)簽、以及歷史記錄管理。
4. Vaadin
Vaadin是一種用于簡(jiǎn)化Java開(kāi)發(fā)的Web應(yīng)用框架。它能夠方便開(kāi)發(fā)人員構(gòu)建出自定義的Web開(kāi)發(fā)服務(wù)。
該框架的主要優(yōu)勢(shì)在于客戶端與服務(wù)器端之間可以流暢地通信。Vaadin可以從Java虛擬機(jī)處直接訪問(wèn)DOM。作為一個(gè)輕量級(jí)的框架,Vaadin Flow可被用于處理服務(wù)器端和客戶端之間的路由通信。Vaadin允許開(kāi)發(fā)者將Vaadin組件集成到他們正在使用的任何一款I(lǐng)DE中。由于Vaadin是跨平臺(tái)類型的框架,因此用戶無(wú)需將代碼遷移到其他的平臺(tái)上。
在使用Vaadin的過(guò)程中,開(kāi)發(fā)人員不需要具有豐富的HTML、CSS、以及JavaScript經(jīng)驗(yàn)。Vaadin會(huì)自動(dòng)將Java轉(zhuǎn)換為標(biāo)記。
優(yōu)點(diǎn)
通過(guò)支持拖放、以及其他出色的功能,它簡(jiǎn)化了Java應(yīng)用單頁(yè)UI的創(chuàng)建。
具有WebSocket支持的自動(dòng)化“服務(wù)器端-客戶端”通信方式。
使用MVC(Model-View-Controller)或MVP(Model-View-Presenter),來(lái)進(jìn)行數(shù)據(jù)綁定。
帶有嵌套路由和參數(shù)支持的路由器。
支持包括Kotlin和Scala在內(nèi)的JVM語(yǔ)言。
內(nèi)置了對(duì)于Spring的支持。
5. Hibernate
Hibernate是一個(gè)對(duì)象關(guān)系映射(Object-Relational Mapping,ORM)型數(shù)據(jù)庫(kù),可被用于開(kāi)發(fā)出穩(wěn)定的Java框架。對(duì)象關(guān)系映射往往被用于橫跨兩個(gè)不兼容的系統(tǒng),以連接數(shù)據(jù)。Hibernate在關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(relational database management systems,RDBMS)和Java應(yīng)用程序之間,提供了良好的通信。它非常適合工作在復(fù)雜的生態(tài)系統(tǒng)中,并對(duì)數(shù)據(jù)流實(shí)現(xiàn)無(wú)縫化。
在使用諸如Java之類的面向?qū)ο蟮恼Z(yǔ)言時(shí),開(kāi)發(fā)人員往往會(huì)遇到被稱為“對(duì)象關(guān)系阻抗不匹配”或“范例不匹配”的問(wèn)題。Hibernate為開(kāi)發(fā)人員提供了一個(gè)可以克服此類問(wèn)題的框架。
Hibernate的查詢與SQL類似,稱為HQL(Hibernate查詢語(yǔ)言)。Hibernate可以直接將Java類映射到相應(yīng)的數(shù)據(jù)庫(kù)表上,反之亦然。Hibernate在其主文件--hibernate.cfg.xml中,提供了使用數(shù)據(jù)庫(kù)配置映射的各種Java類信息。
優(yōu)點(diǎn)
一種強(qiáng)大的跨數(shù)據(jù)庫(kù)解決方案。
可擴(kuò)展。
數(shù)據(jù)可以輕松地實(shí)現(xiàn)轉(zhuǎn)換。
可配置。
總結(jié)
希望上面介紹到的各種最受歡迎的、使用最廣泛的Web應(yīng)用開(kāi)發(fā)Java框架,能夠幫助您從易用性、配套文檔、以及技術(shù)支持等需求維度,選出適合自己實(shí)際項(xiàng)目的框架。當(dāng)然如果您是一名新手,那么我建議從《Java信息圖(Java Infographic)》一文,快速熟悉并上手Java。
編寫手機(jī)App,用什么語(yǔ)言?
從簡(jiǎn)單到復(fù)雜,可以分三級(jí):
簡(jiǎn)單方案:HTML5
其實(shí)就是把網(wǎng)頁(yè)封裝成App。編程語(yǔ)言就是網(wǎng)頁(yè)三件套:HTML+CSS+Javascript
有多種工具和框架,如Cordova, uni等等。
這種方式實(shí)現(xiàn)“App”最容易,且跨平臺(tái),對(duì)于iOS和Android做一套就行了。代價(jià)是功能弱,性能低,換句話說(shuō)就是“卡”。
中等方案:原生跨平臺(tái)框架
這類方案在iOS和Android之上自行實(shí)現(xiàn)一套原生框架。通用的Flutter, ReactNative都是流行的原生跨平臺(tái)框架。適用于 游戲 的Cocos2D,Corona SDK也可以算在這一級(jí)里。
這類方案實(shí)現(xiàn)App難度中等,因?yàn)榭缙脚_(tái),一次開(kāi)發(fā),iOS和Android都能運(yùn)行。功能和性能也是中等,比不上原生App,但比HTML5的又好很多。
復(fù)雜方案:原生開(kāi)發(fā)
直接在iOS和Android上各自開(kāi)發(fā)一套原生App。
iOS可以使用Objective C或Swift。
Android可以使用Java或Kotlin。
還是來(lái)一個(gè)圖表吧,雖然簡(jiǎn)單,卻很明了:
推薦用Flutter,簡(jiǎn)單。
以前自己用android原生寫過(guò)7天酒店簽到程序,不過(guò)當(dāng)時(shí)的安卓還是比較難寫的,不像現(xiàn)在越來(lái)越容易上手。
Flutter
Flutter是一個(gè)由谷歌開(kāi)發(fā)的開(kāi)源移動(dòng)應(yīng)用軟件開(kāi)發(fā)工具包,用于為Android、iOS、 Windows、Mac、Linux、Google Fuchsia開(kāi)發(fā)應(yīng)用。
Flutter應(yīng)用是使用Dart語(yǔ)言編寫的,雖然是新的一種語(yǔ)言,但是難度不算大,上網(wǎng)搜下相關(guān)教程學(xué)習(xí)下,應(yīng)該就能很快上手。
Flutter效果
這里是我上個(gè)月仿照教程弄的一個(gè)簡(jiǎn)單APP,效果圖如下:
點(diǎn)擊"Next"就切換下一張,點(diǎn)擊"Pre"就切換前一張,點(diǎn)擊“Reset”就全部滑落下來(lái)。
我女兒最喜歡中間的Reset效果,哈哈。
希望這個(gè)答案能幫到你。
現(xiàn)在Flutter正式版已經(jīng)出來(lái)了,原生性能,安卓iOS多平臺(tái)支持,谷歌大廠背書(shū),大家可以比較放心的學(xué)習(xí)。編程語(yǔ)言用的是Dart,可以看做是加了語(yǔ)法糖版本的Java,學(xué)習(xí)起來(lái)也比較容易,如果想做手機(jī)app,可以考慮使用它。
如果只是自己做著玩的話推薦用H5開(kāi)發(fā),開(kāi)發(fā)工具HBuilder或者HBuilderX。
先科普下什么是IOS和Android吧。
IOS只是操作系統(tǒng)而已,是蘋果的操作系統(tǒng)。
開(kāi)發(fā)IOS上運(yùn)行的APP的話,現(xiàn)在流行的語(yǔ)言是Object-C和Swift。
Android也是操作系統(tǒng),是谷歌基于Linux內(nèi)核開(kāi)發(fā)出來(lái)的手機(jī)操作系統(tǒng)。
開(kāi)發(fā)Android上運(yùn)行的APP的話,現(xiàn)在流行的語(yǔ)言我覺(jué)得仍然還是JAVA。
如果想要真的做一款A(yù)PP的話,不僅僅會(huì)一門語(yǔ)言就夠了,涉及的東西比較多,如下是我給你的學(xué)習(xí)推薦路線。
學(xué)習(xí)路線:
1:先學(xué)習(xí)js,然后學(xué)習(xí)下html 、css。
學(xué)習(xí)這些可以上菜鳥(niǎo)教程或者W3School網(wǎng)站學(xué)習(xí)。
開(kāi)發(fā)工具使用vscode或者Notepad++都可以的。
2:了解Mui常用組件(官網(wǎng):),
熟悉常用API(官網(wǎng):)。
3:服務(wù)端的開(kāi)發(fā),要么用java開(kāi)發(fā),要么用.net webapi開(kāi)發(fā),推薦理由,java目前是主流,.net webapi簡(jiǎn)單容易。
java 開(kāi)發(fā)工具IntelliJ IDEA,.net 開(kāi)發(fā)工具 vs。
4:數(shù)據(jù)存儲(chǔ)使用mysql。
補(bǔ)充說(shuō)明:如果是想做專業(yè)開(kāi)發(fā)APP的話還是建議用java開(kāi)發(fā)客戶端,ios APP則用swift開(kāi)發(fā)。
當(dāng)然現(xiàn)在為了一套代碼多個(gè)平臺(tái),使用H5開(kāi)發(fā)專業(yè)APP的也有。
會(huì)了就可以正式擼代碼實(shí)現(xiàn)自己簡(jiǎn)單的APP了。
回答完畢,謝謝。我是只說(shuō)代碼的大餅。
那當(dāng)然首選是h5套殼了。關(guān)于語(yǔ)言方面,我建議還是用PHP吧。隨著進(jìn)一步學(xué)習(xí),可以學(xué)習(xí)uinapp一鍵多端。H5、小程序、App、小程序支持多個(gè)平臺(tái)上架、微信抖音支付寶百度,希望可以幫助你
目前有三種app開(kāi)發(fā)方式:原生app、混合app、webapp。
原生app:安卓需要java語(yǔ)言,ios需要 objec t-c,wp需要的.net語(yǔ)言。這種app用戶體驗(yàn)最好,性能也是最好的,開(kāi)發(fā)成本高,開(kāi)發(fā)周期長(zhǎng),一款app需要開(kāi)發(fā)多個(gè)語(yǔ)言版本;
混合app:需要h5,javascript,了解每個(gè)混合框架,比如appcan、hbulider、phonegap等等,以及封裝的中間件。這種開(kāi)發(fā)方式的用戶體驗(yàn)、性能沒(méi)有原生的好,但是他的開(kāi)發(fā)周期短,開(kāi)發(fā)成本低,對(duì)開(kāi)發(fā)人員技能掌握比較高,開(kāi)發(fā)一套程序可以兼容到多個(gè)設(shè)備上;
webapp:需要h5、javascript語(yǔ)言,不能調(diào)用底層設(shè)備,用戶體驗(yàn)效果次之,開(kāi)發(fā)簡(jiǎn)單,開(kāi)發(fā)成本低,開(kāi)發(fā)周期短,可以兼容多個(gè)設(shè)備。
綜上所述三種開(kāi)發(fā)各有優(yōu)缺點(diǎn),要根據(jù)具體的項(xiàng)目需求來(lái)選擇適合自己的開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)場(chǎng)景。
uniapp了解下,多端應(yīng)用。app的話要考慮安卓和蘋果,但學(xué)了二種學(xué)習(xí)成本比較高。用uniapp就解決了。
現(xiàn)在中小型企業(yè)都在逐漸采用跨平臺(tái)開(kāi)發(fā)的模式 效率高 成本低 作為個(gè)人更是開(kāi)發(fā)不二的選擇 你問(wèn)的iOS和安卓是原生開(kāi)發(fā) 需要不同的開(kāi)發(fā)語(yǔ)言和框架 學(xué)習(xí)成本也很高 既然你說(shuō)你是小白 如果采用原生開(kāi)發(fā) 可能得大概花一年半載才能開(kāi)始上手
采用跨平臺(tái)開(kāi)發(fā) 只需要學(xué)習(xí)一下html css JavaScript 然后選擇跨平臺(tái)開(kāi)發(fā)框架 比如react flutter uniapp 都可以 跨平臺(tái)就是指你這一套代碼編寫的app可以到不同平臺(tái)運(yùn)行 比如iOS安卓都OK 但其實(shí)很多還可以編譯到各類小程序平臺(tái)運(yùn)行 所以很方便
我這里推薦uniapp 一個(gè)基于vue的跨端開(kāi)發(fā)框架 我自己也用這個(gè)開(kāi)發(fā)了很多項(xiàng)目 確實(shí)很快 也提供了原生渲染能力 不做 游戲 等軟件 基本沒(méi)啥問(wèn)題 社區(qū)插件市場(chǎng)也很熱鬧 基本有問(wèn)題可以很快解決 希望可以幫到你。
按照開(kāi)發(fā)方式可分為原生開(kāi)發(fā)、混合開(kāi)發(fā)、webapp開(kāi)發(fā),不同的開(kāi)發(fā)方式學(xué)習(xí)的編程語(yǔ)言不一樣,下面我們來(lái)一個(gè)一個(gè)分析一下:
一、原生開(kāi)發(fā)
原生開(kāi)發(fā)的編程語(yǔ)言主要為針對(duì)IOS運(yùn)行環(huán)境的為編程語(yǔ)言為Swift或Object c,安卓環(huán)境為Java或Kotlin,WP環(huán)境為NET。原生開(kāi)發(fā)的運(yùn)行效率最高,用戶體驗(yàn)最好,但是需要學(xué)習(xí)不同平臺(tái)的編程語(yǔ)言,學(xué)習(xí)門檻較高。
二、混合開(kāi)發(fā)(偽原生開(kāi)發(fā))
混合開(kāi)發(fā)技術(shù)主要采用一套特別的渲染引擎來(lái)渲染UI界面和交互,按照渲染引擎可分為html與dart,其編程語(yǔ)言主要是Javascript或Typescript、Dart。
目前基于html渲染的開(kāi)發(fā)框架有react native、weex、uniapp,基于dart的開(kāi)發(fā)框架只有flutter。
混合開(kāi)發(fā)由于調(diào)用了原生的控件來(lái)渲染UI,所以加載和體驗(yàn)與原生差不多,學(xué)習(xí)成本比較低,只要會(huì)js,選擇一個(gè)框架開(kāi)發(fā)就行了,或者學(xué)習(xí)dart語(yǔ)言,進(jìn)行flutter開(kāi)發(fā)。
三、webapp開(kāi)發(fā)
webapp開(kāi)發(fā)主要利用原生環(huán)境中的瀏覽器控件來(lái)裝載服務(wù)器上的html頁(yè)面,實(shí)際這個(gè)app就是一個(gè)自定義的瀏覽器app,所以只要會(huì)html,就會(huì)開(kāi)發(fā)webapp,由于app內(nèi)部加載的是遠(yuǎn)程的網(wǎng)頁(yè),所以加載速度和體驗(yàn)最差。
以上是我個(gè)人的總結(jié),有不對(duì)的歡迎指出,謝謝。
本人用c#,除了單片機(jī)用c,cad CATIA,多媒體主要Adobe,它干完所有,不需要性能的視圖混合dom代碼。
用于創(chuàng)建二維網(wǎng)格列表。
GridView.count 是在交叉軸上創(chuàng)建固定個(gè)數(shù)的網(wǎng)格,crossAxisCount為必須的屬性,表示交叉軸網(wǎng)格的個(gè)數(shù),而GridView.extent是在交叉軸上創(chuàng)建最大可容納的網(wǎng)格,maxCrossAxisExtent是必須的屬性,表示交叉軸上網(wǎng)格的最大的寬度。
本地Flutter 2.10.1,Mac版Android Studio Bumblebee | 2021.1.1 Patch 2
我是小栗子,初學(xué)Flutter ,文章會(huì)根據(jù)學(xué)習(xí)進(jìn)度不定時(shí)更新,請(qǐng)多多指教~~
水平垂直居中布局。類似Container設(shè)置alignment
固定寬高布局,類似Container設(shè)置了寬高
寬高比布局。
四、FractionallySizedBox
百分比布局。
這里注意百分比布局外層一定是一個(gè)有大小的容器(如SizedBox、Container),否則會(huì)報(bào)錯(cuò)。
卡片布局。
本地Flutter 2.10.1,Mac版Android Studio Bumblebee | 2021.1.1 Patch 2
我是小栗子,初學(xué)Flutter ,文章會(huì)根據(jù)學(xué)習(xí)進(jìn)度不定時(shí)更新,請(qǐng)多多指教~~
頁(yè)面中的各界面元素(Widget)以樹(shù)的形式組織,即控件樹(shù)。Flutter通過(guò)控件樹(shù)中的每個(gè)控件創(chuàng)建不同類型的渲染對(duì)象,組成渲染對(duì)象樹(shù)。而渲染對(duì)象樹(shù)在Flutter的展示過(guò)程分為三個(gè)階段:布局、繪制、合成和渲染。
(一)布局
Flutter采用深度優(yōu)先機(jī)制遍歷渲染對(duì)象樹(shù),決定渲染對(duì)象樹(shù)中各渲染對(duì)象在屏幕上的位置和尺寸。在布局過(guò)程中,渲染對(duì)象樹(shù)中的每個(gè)渲染對(duì)象都會(huì)接收父對(duì)象的布局約束參數(shù),決定自己的大小,然后父對(duì)象按照控件邏輯決定各個(gè)子對(duì)象的位置,完成布局過(guò)程。
為了防止因子節(jié)點(diǎn)發(fā)生變化而導(dǎo)致整個(gè)控件樹(shù)重新布局,F(xiàn)lutter加入了一個(gè)機(jī)制——布局邊界(Relayout Boundary),可以在某些節(jié)點(diǎn)自動(dòng)或手動(dòng)地設(shè)置布局邊界,當(dāng)邊界內(nèi)的任何對(duì)象發(fā)生重新布局時(shí),不會(huì)影響邊界外的對(duì)象,反之亦然。
二)繪制
布局完成后,渲染對(duì)象樹(shù)中的每個(gè)節(jié)點(diǎn)都有了明確的尺寸和位置。Flutter會(huì)把所有的渲染對(duì)象繪制到不同的圖層上。與布局過(guò)程一樣,繪制過(guò)程也是深度優(yōu)先遍歷,而且總是先繪制自身,再繪制子節(jié)點(diǎn)。
以下圖為例:節(jié)點(diǎn)1在繪制完自身后,會(huì)再繪制節(jié)點(diǎn)2,然后繪制它的子節(jié)點(diǎn)3、4和5,最后繪制節(jié)點(diǎn)6。
可以看到,由于一些其他原因(比如,視圖手動(dòng)合并)導(dǎo)致2的子節(jié)點(diǎn)5與它的兄弟節(jié)點(diǎn)6處于了同一層,這樣會(huì)導(dǎo)致當(dāng)節(jié)點(diǎn)2需要重繪的時(shí)候,與其無(wú)關(guān)的節(jié)點(diǎn)6也會(huì)被重繪,帶來(lái)性能損耗。
為了解決這一問(wèn)題,F(xiàn)lutter提出了與布局邊界對(duì)應(yīng)的機(jī)制——重繪邊界(Repaint Boundary)。在重繪邊界內(nèi),F(xiàn)lutter會(huì)強(qiáng)制切換新的圖層,這樣就可以避免邊界內(nèi)外的互相影響,避免無(wú)關(guān)內(nèi)容置于同一圖層引起不必要的重繪。
重繪邊界的一個(gè)典型場(chǎng)景是Scrollview。ScrollView滾動(dòng)的時(shí)候需要刷新視圖內(nèi)容,從而觸發(fā)內(nèi)容重繪。而當(dāng)滾動(dòng)內(nèi)容重繪時(shí),一般情況下其他內(nèi)容是不需要重繪的,這時(shí)候重繪邊界就派上用場(chǎng)了。
(三)合成和渲染
終端設(shè)備的頁(yè)面越來(lái)越復(fù)雜,因此Flutter的渲染樹(shù)層級(jí)通常很多,直接交付給渲染引擎進(jìn)行多圖層渲染,可能會(huì)出現(xiàn)大量渲染內(nèi)容的重復(fù)繪制,所以還需要先進(jìn)行一次圖層合成,即將所有的圖層根據(jù)大小、層級(jí)、透明度等規(guī)則計(jì)算出最終的顯示效果,將相同的圖層歸類合并,簡(jiǎn)化渲染樹(shù),提高渲染效率。
合并完成后,F(xiàn)lutter會(huì)將幾何圖層數(shù)據(jù)交由Skia引擎加工成二維圖像數(shù)據(jù),最終交由GPU進(jìn)行渲染,完成界面的展示。
四、總結(jié)
咱們從各種業(yè)界主流跨端方案與Flutter的對(duì)比開(kāi)始,到Flutter的簡(jiǎn)要介紹以及Flutter的運(yùn)行機(jī)制,并以界面渲染過(guò)程為例,從布局、繪制、合成和渲染三個(gè)階段講述了Flutter的實(shí)現(xiàn)原理。相信大家對(duì)Flutter已經(jīng)有一個(gè)整體認(rèn)知,趕快一起上手操作起來(lái)吧!
前端最火熱的話題無(wú)法就是flutter,不管是刷哪個(gè)論壇,必定有探討flutter的文章。沒(méi)用過(guò)flutter,但是對(duì)于跨平臺(tái)的技術(shù),我一直都在研究。
為什么是uni-app
之前一直在找解決跨平臺(tái)的方案,嘗試了很多方案,比如滴滴的變色龍,但是最終還是選擇了uni-app,這里附上uni-app的官網(wǎng)。為什么會(huì)選擇它呢,第一,vue語(yǔ)法,學(xué)習(xí)成本低,上手速度快,只要之前你做過(guò)vue的項(xiàng)目,那么就能很快上手,其實(shí)是vue和微信小程序的結(jié)合體,一半vue,一半微信小程序。第二,長(zhǎng)期維護(hù),之前做微信小程序的時(shí)候,選擇了美團(tuán)的mpvue,但是后面發(fā)現(xiàn)長(zhǎng)期不維護(hù)了,提了Issues也沒(méi)人理,隨之就放棄了,而uni-app長(zhǎng)期在維護(hù),這樣看出了開(kāi)發(fā)團(tuán)隊(duì)的用心。第三,跨平臺(tái)的能力,uni-app能夠跨多個(gè)終端,H5,安卓,Ios,微信小程序,百度小程序,頭條小程序,支付寶小程序,真正實(shí)現(xiàn)了一套代碼,多端運(yùn)行,而且很好適應(yīng)了我國(guó)的市場(chǎng)。第四,日益豐富的插件市場(chǎng),uni的插件市場(chǎng)也在日益強(qiáng)大,能夠基本上滿足我們平時(shí)的開(kāi)發(fā)需求。
uni-app的組件有原生調(diào)用能力,第三方的vue庫(kù)在調(diào)原生接口時(shí)跟 5+runtime 不兼容。就像nativescript 有vue版和angular版,類似于react native , 都是起源于phonegap/cordova
實(shí)際開(kāi)發(fā)效果遵義小紅椒 做了一款app,打包了安卓,Ios,微信小程序3個(gè)平臺(tái),產(chǎn)出的效果都還是不錯(cuò),總體還是比較滿意。而且打包過(guò)程也很方便簡(jiǎn)單,配套的HBuilderX自動(dòng)內(nèi)置了打包功能,所以也省去了打包的煩惱。
遵義小紅椒 建議
如果你現(xiàn)在想做一款跨平臺(tái)的產(chǎn)品,而且有vue和微信小程序的經(jīng)驗(yàn),最重要的,你不想學(xué)習(xí)一門新語(yǔ)言,那么uni-app也許是你的一個(gè)選擇。
網(wǎng)站題目:flutter上手,flutter上手快嗎
鏈接地址:http://chinadenli.net/article9/dsieooh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)