編寫手機(jī)App,用什么語(yǔ)言?

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),萬源企業(yè)網(wǎng)站建設(shè),萬源品牌網(wǎng)站建設(shè),網(wǎng)站定制,萬源網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,萬源網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
從簡(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à)是功能弱,性能低,換句話說就是“卡”。
中等方案:原生跨平臺(tái)框架
這類方案在iOS和Android之上自行實(shí)現(xiàn)一套原生框架。通用的Flutter, ReactNative都是流行的原生跨平臺(tái)框架。適用于 游戲 的Cocos2D,Corona SDK也可以算在這一級(jí)里。
這類方案實(shí)現(xiàn)App難度中等,因?yàn)榭缙脚_(tái),一次開發(fā),iOS和Android都能運(yùn)行。功能和性能也是中等,比不上原生App,但比HTML5的又好很多。
復(fù)雜方案:原生開發(fā)
直接在iOS和Android上各自開發(fā)一套原生App。
iOS可以使用Objective C或Swift。
Android可以使用Java或Kotlin。
還是來一個(gè)圖表吧,雖然簡(jiǎn)單,卻很明了:
推薦用Flutter,簡(jiǎn)單。
以前自己用android原生寫過7天酒店簽到程序,不過當(dāng)時(shí)的安卓還是比較難寫的,不像現(xiàn)在越來越容易上手。
Flutter
Flutter是一個(gè)由谷歌開發(fā)的開源移動(dòng)應(yīng)用軟件開發(fā)工具包,用于為Android、iOS、 Windows、Mac、Linux、Google Fuchsia開發(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”就全部滑落下來。
我女兒最喜歡中間的Reset效果,哈哈。
希望這個(gè)答案能幫到你。
現(xiàn)在Flutter正式版已經(jīng)出來了,原生性能,安卓iOS多平臺(tái)支持,谷歌大廠背書,大家可以比較放心的學(xué)習(xí)。編程語(yǔ)言用的是Dart,可以看做是加了語(yǔ)法糖版本的Java,學(xué)習(xí)起來也比較容易,如果想做手機(jī)app,可以考慮使用它。
如果只是自己做著玩的話推薦用H5開發(fā),開發(fā)工具HBuilder或者HBuilderX。
先科普下什么是IOS和Android吧。
IOS只是操作系統(tǒng)而已,是蘋果的操作系統(tǒng)。
開發(fā)IOS上運(yùn)行的APP的話,現(xiàn)在流行的語(yǔ)言是Object-C和Swift。
Android也是操作系統(tǒng),是谷歌基于Linux內(nèi)核開發(fā)出來的手機(jī)操作系統(tǒng)。
開發(fā)Android上運(yùn)行的APP的話,現(xiàn)在流行的語(yǔ)言我覺得仍然還是JAVA。
如果想要真的做一款A(yù)PP的話,不僅僅會(huì)一門語(yǔ)言就夠了,涉及的東西比較多,如下是我給你的學(xué)習(xí)推薦路線。
學(xué)習(xí)路線:
1:先學(xué)習(xí)js,然后學(xué)習(xí)下html 、css。
學(xué)習(xí)這些可以上菜鳥教程或者W3School網(wǎng)站學(xué)習(xí)。
開發(fā)工具使用vscode或者Notepad++都可以的。
2:了解Mui常用組件(官網(wǎng):),
熟悉常用API(官網(wǎng):)。
3:服務(wù)端的開發(fā),要么用java開發(fā),要么用.net webapi開發(fā),推薦理由,java目前是主流,.net webapi簡(jiǎn)單容易。
java 開發(fā)工具IntelliJ IDEA,.net 開發(fā)工具 vs。
4:數(shù)據(jù)存儲(chǔ)使用mysql。
補(bǔ)充說明:如果是想做專業(yè)開發(fā)APP的話還是建議用java開發(fā)客戶端,ios APP則用swift開發(fā)。
當(dāng)然現(xiàn)在為了一套代碼多個(gè)平臺(tái),使用H5開發(fā)專業(yè)APP的也有。
會(huì)了就可以正式擼代碼實(shí)現(xiàn)自己簡(jiǎn)單的APP了。
回答完畢,謝謝。我是只說代碼的大餅。
那當(dāng)然首選是h5套殼了。關(guān)于語(yǔ)言方面,我建議還是用PHP吧。隨著進(jìn)一步學(xué)習(xí),可以學(xué)習(xí)uinapp一鍵多端。H5、小程序、App、小程序支持多個(gè)平臺(tái)上架、微信抖音支付寶百度,希望可以幫助你
目前有三種app開發(fā)方式:原生app、混合app、webapp。
原生app:安卓需要java語(yǔ)言,ios需要 objec t-c,wp需要的.net語(yǔ)言。這種app用戶體驗(yàn)最好,性能也是最好的,開發(fā)成本高,開發(fā)周期長(zhǎng),一款app需要開發(fā)多個(gè)語(yǔ)言版本;
混合app:需要h5,javascript,了解每個(gè)混合框架,比如appcan、hbulider、phonegap等等,以及封裝的中間件。這種開發(fā)方式的用戶體驗(yàn)、性能沒有原生的好,但是他的開發(fā)周期短,開發(fā)成本低,對(duì)開發(fā)人員技能掌握比較高,開發(fā)一套程序可以兼容到多個(gè)設(shè)備上;
webapp:需要h5、javascript語(yǔ)言,不能調(diào)用底層設(shè)備,用戶體驗(yàn)效果次之,開發(fā)簡(jiǎn)單,開發(fā)成本低,開發(fā)周期短,可以兼容多個(gè)設(shè)備。
綜上所述三種開發(fā)各有優(yōu)缺點(diǎn),要根據(jù)具體的項(xiàng)目需求來選擇適合自己的開發(fā)語(yǔ)言和開發(fā)場(chǎng)景。
uniapp了解下,多端應(yīng)用。app的話要考慮安卓和蘋果,但學(xué)了二種學(xué)習(xí)成本比較高。用uniapp就解決了。
現(xiàn)在中小型企業(yè)都在逐漸采用跨平臺(tái)開發(fā)的模式 效率高 成本低 作為個(gè)人更是開發(fā)不二的選擇 你問的iOS和安卓是原生開發(fā) 需要不同的開發(fā)語(yǔ)言和框架 學(xué)習(xí)成本也很高 既然你說你是小白 如果采用原生開發(fā) 可能得大概花一年半載才能開始上手
采用跨平臺(tái)開發(fā) 只需要學(xué)習(xí)一下html css JavaScript 然后選擇跨平臺(tái)開發(fā)框架 比如react flutter uniapp 都可以 跨平臺(tái)就是指你這一套代碼編寫的app可以到不同平臺(tái)運(yùn)行 比如iOS安卓都OK 但其實(shí)很多還可以編譯到各類小程序平臺(tái)運(yùn)行 所以很方便
我這里推薦uniapp 一個(gè)基于vue的跨端開發(fā)框架 我自己也用這個(gè)開發(fā)了很多項(xiàng)目 確實(shí)很快 也提供了原生渲染能力 不做 游戲 等軟件 基本沒啥問題 社區(qū)插件市場(chǎng)也很熱鬧 基本有問題可以很快解決 希望可以幫到你。
按照開發(fā)方式可分為原生開發(fā)、混合開發(fā)、webapp開發(fā),不同的開發(fā)方式學(xué)習(xí)的編程語(yǔ)言不一樣,下面我們來一個(gè)一個(gè)分析一下:
一、原生開發(fā)
原生開發(fā)的編程語(yǔ)言主要為針對(duì)IOS運(yùn)行環(huán)境的為編程語(yǔ)言為Swift或Object c,安卓環(huán)境為Java或Kotlin,WP環(huán)境為NET。原生開發(fā)的運(yùn)行效率最高,用戶體驗(yàn)最好,但是需要學(xué)習(xí)不同平臺(tái)的編程語(yǔ)言,學(xué)習(xí)門檻較高。
二、混合開發(fā)(偽原生開發(fā))
混合開發(fā)技術(shù)主要采用一套特別的渲染引擎來渲染UI界面和交互,按照渲染引擎可分為html與dart,其編程語(yǔ)言主要是Javascript或Typescript、Dart。
目前基于html渲染的開發(fā)框架有react native、weex、uniapp,基于dart的開發(fā)框架只有flutter。
混合開發(fā)由于調(diào)用了原生的控件來渲染UI,所以加載和體驗(yàn)與原生差不多,學(xué)習(xí)成本比較低,只要會(huì)js,選擇一個(gè)框架開發(fā)就行了,或者學(xué)習(xí)dart語(yǔ)言,進(jìn)行flutter開發(fā)。
三、webapp開發(fā)
webapp開發(fā)主要利用原生環(huán)境中的瀏覽器控件來裝載服務(wù)器上的html頁(yè)面,實(shí)際這個(gè)app就是一個(gè)自定義的瀏覽器app,所以只要會(huì)html,就會(huì)開發(fā)webapp,由于app內(nèi)部加載的是遠(yuǎn)程的網(wǎng)頁(yè),所以加載速度和體驗(yàn)最差。
以上是我個(gè)人的總結(jié),有不對(duì)的歡迎指出,謝謝。
本人用c#,除了單片機(jī)用c,cad CATIA,多媒體主要Adobe,它干完所有,不需要性能的視圖混合dom代碼。
Flutter教程全套 (全網(wǎng)獨(dú)家)百度網(wǎng)盤免費(fèi)資源在線學(xué)習(xí) ?
鏈接:
提取碼: m9z8 ?
Flutter教程全套 (全網(wǎng)獨(dú)家)
第一套:Flutter 攜程17章全-整理好
第五套:Flutter高仿谷歌翻譯項(xiàng)目課程
第四套:兩小時(shí)掌握Flutter移動(dòng)App開發(fā)視頻
第三套:flutter入門到精通全套
第七套:Flutter小實(shí)戰(zhàn)20個(gè)
第六套:仿直聘boss的flutter完整教程
第九套:Flutter跨平臺(tái)開發(fā)
第二套:flutter移動(dòng)電商實(shí)戰(zhàn)-技術(shù)胖
第八套:Flutter基礎(chǔ)教程(基礎(chǔ)不好的優(yōu)先看)
24Flutter的打包.mp4
23靜態(tài)資源和項(xiàng)目圖片的處理.mp4
22頁(yè)面跳轉(zhuǎn)并返回?cái)?shù)據(jù)_.mp4
21導(dǎo)航的參數(shù)傳遞和接受-2_.mp4
20導(dǎo)航的參數(shù)傳遞和接受-1.mp4
這是領(lǐng)苗確認(rèn)記錄詳情頁(yè)需要展示給用戶的內(nèi)容,大家可以看到這個(gè)頁(yè)面要承載很多的信息,要向下滾動(dòng)一段很長(zhǎng)的距離才能展示完,想要實(shí)現(xiàn)的效果是在頁(yè)面的頂部有一個(gè)TabBar,用戶可以通過點(diǎn)擊TabBar進(jìn)行錨點(diǎn)(jumpTo到指定位置),AppBar下的整個(gè)頁(yè)面是可以自由滾動(dòng)的,在滾動(dòng)過程中AppBar始終固定在頂部,TabBar在第一次進(jìn)入詳情頁(yè)的時(shí)候不顯示,只有在向下滑動(dòng)的時(shí)候會(huì)由透明漸變?yōu)椴煌该鞑⒐潭ㄔ陧敳浚瑫r(shí)當(dāng)頁(yè)面滑動(dòng)到TabBar錨點(diǎn)位置的時(shí)候TabBar會(huì)切換到對(duì)應(yīng)的下標(biāo),也就是要實(shí)現(xiàn)TabBar和ScrollView聯(lián)動(dòng)的雙向控制,Tabbar的切換可以控制頁(yè)面的跳轉(zhuǎn),頁(yè)面的滑動(dòng)又可以反過來控制TabBar的切換,類似與京東、淘寶的商品詳情頁(yè)效果。
SliverAppBar基本已經(jīng)達(dá)到了我們想要的效果,但在界面頂部會(huì)有塊空白區(qū)域試了很多方法怎么都去不掉,最后看了SliverAppBar這個(gè)控件的源碼發(fā)現(xiàn)是它自帶的初始高度。
這個(gè)沒法設(shè)置或消除,不可能直接去改源碼,所以后來?yè)Q了一種實(shí)現(xiàn)思路,舍棄了SliverAppBar這個(gè)控件,以Stack的形式將TabBar置于ScrollView之上也能達(dá)到我們想要的效果,那么問題來了,如何實(shí)現(xiàn)TabBar的滾動(dòng)漸變?很容易想到Opacity透明度控件,通過滾動(dòng)監(jiān)聽來控制TabBar透明度的改變,借助Notificaion可以完美實(shí)現(xiàn)我們的需求。
Notification是Flutter中一個(gè)重要的機(jī)制,在Widget樹中,每一個(gè)節(jié)點(diǎn)都可以分發(fā)通知(Notification)與父(包括祖先)Widget通信,通知會(huì)沿著當(dāng)前節(jié)點(diǎn)(context)向上傳遞,所有父節(jié)點(diǎn)都可以通過NotificationListener來監(jiān)聽自己關(guān)注的通知,F(xiàn)lutter中稱這種通知由子向父的傳遞為“通知冒泡”(Notification Bubbling)。
Flutter中很多地方使用了通知,如可滾動(dòng)(Scrollable) Widget中滑動(dòng)時(shí)就會(huì)分發(fā)ScrollNotification,而Scrollbar正是通過監(jiān)聽ScrollNotification來確定滾動(dòng)條位置的。除了ScrollNotification,F(xiàn)lutter中還有SizeChangedLayoutNotification、KeepAliveNotification 、LayoutChangedNotification等。
通過NotificationListener監(jiān)聽滾動(dòng)事件和通過ScrollController有兩個(gè)主要的不同:
通過改造后,目前這個(gè)組件的原型已經(jīng)實(shí)現(xiàn)并且可以滿足我們的需求,最后就是對(duì)該demo進(jìn)行完善使其能夠完美接入我們的業(yè)務(wù),做到技術(shù)賦能業(yè)務(wù)。
在一個(gè)頁(yè)面滾動(dòng)區(qū)域不是很長(zhǎng)的情況下不建議使用,只有當(dāng)頁(yè)面足夠長(zhǎng)的情況下使用這個(gè)組件效果會(huì)比較好,因?yàn)槿绻粋€(gè)頁(yè)面過短,點(diǎn)擊TabBar最后一欄進(jìn)行錨點(diǎn)時(shí),頁(yè)面最后一個(gè)子模塊內(nèi)容無法置頂,只會(huì)將頁(yè)面最后的內(nèi)容推到屏幕范圍內(nèi),并且由于TabBar監(jiān)聽到的是滾動(dòng)的位置,會(huì)導(dǎo)致TabBar無法切換到對(duì)應(yīng)的下標(biāo),看上去會(huì)像個(gè)bug,其實(shí)是因?yàn)榈撞恳呀?jīng)沒有內(nèi)容了。
這個(gè)組件本身并沒有太大的技術(shù)難度,但是有一些比較細(xì)節(jié)的小邏輯得處理好,并且從中衍生出來的很多瑣碎的小的知識(shí)點(diǎn)都可以進(jìn)行拓展。 在組件開發(fā)的過程中遇到問題時(shí)不局限于控件本身的設(shè)計(jì)模式,轉(zhuǎn)變開發(fā)思維去找尋一些比較新穎的解決方案可能會(huì)有意外的收獲。同時(shí)技術(shù)不能脫離于業(yè)務(wù),技術(shù)賦能業(yè)務(wù)才能創(chuàng)造價(jià)值。
眾所周知,小程序是由HTML標(biāo)簽來開發(fā)原生組件,那么首先需要將HTML做解析,這里我們將HTML通過node腳本解析成JSON字符串,再用Dart來解析JSON,映射對(duì)應(yīng)的標(biāo)簽到flutter的組件。這里先簡(jiǎn)單介紹實(shí)現(xiàn)的功能以及展示效果,后續(xù)再詳細(xì)介紹。
為了高效解析,直接用flutter的組件名在HTML文件上開發(fā)
直接使用flutter的組件
模仿微信小程序的Api,cc對(duì)應(yīng)是微信小程序的wx
以上HTML中的例子
《使用Flutter + V8/JsCore開發(fā)小程序引擎(二)》
《使用Flutter + V8/JsCore開發(fā)小程序引擎(三)》
在玩安卓上有款組件化開源app的項(xiàng)目,一款模仿 Eyepetizer | 開眼視頻的 開源app,這款app設(shè)計(jì)風(fēng)格特別喜歡的,比較簡(jiǎn)潔,美觀,然后最近又在學(xué)flutter的知識(shí),于是就寫了一款flutter版本的開源短視頻,效果也是聽不錯(cuò)的,廢話不多說,先上效果圖。
先附上項(xiàng)目地址:
項(xiàng)目api會(huì)在后面的參考鏈接里,或者直接項(xiàng)目?jī)?nèi)查看。
項(xiàng)目地址:
更新:6/30 項(xiàng)目新增下拉刷新,上拉加載功能
kotlin版本開眼短視頻開發(fā)中,敬請(qǐng)期待...
總結(jié):在此感謝參考的伙伴的文章,寫的也很好,然后我將這個(gè)項(xiàng)目改寫成了flutter,當(dāng)中也學(xué)習(xí)到了很多flutter相關(guān)的知識(shí),后續(xù)還有繼續(xù)鞏固,不斷學(xué)習(xí)。
參考鏈接(包含本項(xiàng)目的api)
本文題目:仿京東flutter,仿京東首頁(yè)html5
標(biāo)題路徑:http://chinadenli.net/article14/dsiehde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、微信小程序、ChatGPT、關(guān)鍵詞優(yōu)化、域名注冊(cè)
聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)