1個人,100天業餘時間,用Flutter開發完一個商業APP

項目介紹

這個一個淘電商APP,同類型的APP有花生日記、好省、折800等等,基本上一個常規電商APP該有的,這個項目都有了。目前,該項目的完成度爲80%,剩餘的20%因爲沒有後臺項目支持,所以無法完成。

爲啥要做這個東西勒,因爲作爲Flutter的早期研究者,有不少人都問過我,Flutter現在可不可以做商業項目?現有的原生項目接入Flutter靠不靠譜?Flutter會不會有很多功能不能實現?……

當時我自己也沒有正兒八經的做過商業項目,所以都不敢說可以做,基本都是含糊其辭都回答,甚至當作沒看到信息,就沒有回覆了。所以我急切的想做一個商業項目,實際用Flutter開發商業項目,發現開發過程中的問題,用實際開發經歷來回答類似的問題。

很巧的是,大約100天前,正好有網友想讓我兼職開發一個淘電商APP,正好給了我這個機會,於是我便開始了開發,並記錄下項目開始開發以來花費了多少時間。

可以看到,到項目差不多完成時,一共是100天,而開發人員只有我1個人兼職開發,而且還是一個跨iOS、Android雙平臺的APP。現在,我想我應該可以回答上面提到的幾個問題了:

Flutter現在可不可以做商業項目?

  • 通過Google的近幾年的發佈會可以得知,得益於Google雲服務的便利,Flutter已經成爲國外開發者開發新項目時的首選
  • 我現在這個淘電商項目應該也可以做一個例子吧

現有的原生項目接入Flutter靠不靠譜?

  • 鹹魚APP的部分頁面,已經是使用Flutter實現的
  • 愛奇藝直播助手APP的部分頁面,也已經是用Flutter實現的了

Flutter會不會有很多功能不能實現?

  • 目前,Flutter插件倉庫裏已經有4200多個插件了,其中包含國內常用的各種推送、社會分享、微信QQ支付寶登錄、各種授權登陸、微信支付寶支付、淘系電商等對接原生SDK等第三方插件
  • 因爲通過插件可以在Flutter與原生代碼之間搭建橋樑,所以基本上,原生可以實現的功能,Flutter都可以實現

國內服務提供商對Flutter生態的支持如何?

  • 極光推送已經爲開發者準備好了極光推送的Flutter插件
  • 阿里巴巴已經爲Flutter貢獻了一個視圖UI與邏輯代碼分離的第三方框架

用Flutter開發應用可以上架App Store嗎?

  • 有這個擔心其實是因爲RN之前有前例,但是理性分析一下,有些RN爲啥會被下架呢?不過是因爲哪些APP本身違背了App Store的規則,熱更新從理性上思考,難道不是一個安全風險嗎?
  • Flutter應用如果本身不違背App Store的規則,基本是不用擔心這個問題的

Flutter作爲跨平臺開發的性能好不好?

  • Flutter的性能與原生一模一樣,幀頻率達到到60幀/秒是基本操作

後面是我對Flutter開發過程中的一些想法:

  • 跨全平臺開發很理想,但是現在不可能,在實際開發過程中,你難免會用到第三方的插件,而哪些插件又依賴Android或iOS的原生SDK,那你的項目還怎麼在PC、Mac、Web跑呢?除非出現大量用Dart語言編寫的插件(“SDK”)出現,不然跨全平臺開發就是空中閣樓

  • Flutter的熱重載只對微調,比如調大小、移動上下左右幾個單位、組件的內容文本圖片什麼的改一下方便,一旦代碼動的多了,一熱重載,大部分時候頁面都會顯示一片紅,如何又是一頓代碼調整。特別是接口聯調,真的別指望熱重載能多方便

  • 沒有原生開發經驗的話,發佈應用的時候會踩很多原生開發的坑,因爲一旦你要打包Flutter程序,那就涉及到Android、iOS原生開發的知識點了,特別是原生Android打包發佈的坑,經常讓我一搞就是幾個小時甚至更久,心疼原生Android開發的小夥伴一秒

  • 對於之前沒有學過原生開發的人來說,學過Flutter以後,估計不會再去學習原生開發了,畢竟原生開發只能開發單平臺,畢竟如果你可以開發多平臺的APP時,你還會滿足單平臺開發嗎?

  • 就目前來說,因爲目前Flutter插件還沒有完全覆蓋國內的移動開發生態,你難免會需要自己去開發插件,以接入國內的某個服務SDK,這時候,除了找原生開發的小夥伴幫忙以外,就只剩下你自己開發的路可以走了。不過自己開發的難度也還好,因爲各種原生SDK怎麼使用在百度上一堆現成的代碼,你只要會一些原生基礎完全搞的定

APP展示

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-U3YT8dly-1583155615891)(https://upload-images.jianshu.io/upload_images/15679108-fc06b691b37efb08?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

項目地址:https://github.com/hekaiyou/jedi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章