flutter視頻播放插件 前端開發(fā)學(xué)flutter用處大嗎?
前端開發(fā)學(xué)flutter用處大嗎?移動(dòng)端web的性能會(huì)越來越強(qiáng),js相對dart的劣勢在大部分情況下可以忽略不計(jì),更別提以后還有wasm,web做好資源緩存,你就能在中高端機(jī)型上獲得貼近原生體驗(yàn)。h5
前端開發(fā)學(xué)flutter用處大嗎?
移動(dòng)端web的性能會(huì)越來越強(qiáng),js相對dart的劣勢在大部分情況下可以忽略不計(jì),更別提以后還有wasm,web做好資源緩存,你就能在中高端機(jī)型上獲得貼近原生體驗(yàn)。h5體系是眾多廠商共同維護(hù)的跨平臺(tái)標(biāo)準(zhǔn)方案,生命力毋庸置疑,什么小程序,rn,weex都終究只是暫時(shí)的。
請問什么叫做緩存?
從題目表述來看,應(yīng)該是指應(yīng)用軟件的數(shù)據(jù)緩存,通常都是跟網(wǎng)絡(luò)有關(guān)的,也就是把從網(wǎng)絡(luò)下載回來的數(shù)據(jù)臨時(shí)保存到硬盤里面,一來是因?yàn)檫M(jìn)行數(shù)據(jù)處理需要先找個(gè)地方臨時(shí)存放,二來也可以減少重復(fù)下載。當(dāng)應(yīng)用軟件關(guān)閉后,如果沒有自動(dòng)清理,那么就成了可有可無的東西了,為什么這么說呢?因?yàn)榭赡芟麓蜗螺d同一個(gè)東西的話,應(yīng)用軟件可能會(huì)從臨時(shí)緩存中調(diào)用過往的數(shù)據(jù),也可能永遠(yuǎn)都用不上,那就成為垃圾了。
因?yàn)榫彺娑际桥R時(shí)性的,一旦相應(yīng)的應(yīng)用軟件關(guān)閉后,他就隨時(shí)可以刪掉都不會(huì)有危害。應(yīng)用軟件本身如果功能完善的話通常都有清理功能。安全衛(wèi)士之類專門提供緩存清理功能,能集中方便地清理各種應(yīng)用軟件的緩存垃圾,不管應(yīng)用軟件本身是否提供也能清理。但他畢竟不是原開發(fā)商提供的算法,自然無法避免清理不干凈或者清理有誤等等風(fēng)險(xiǎn),但根據(jù)經(jīng)驗(yàn)一般大公司做的軟件都相對可靠,對于小白來說很實(shí)用簡便。甚至有些第三方清理比原生的清得更徹底更干凈(因?yàn)檐浖坛鲇诓煌目紤]故意保留一些可以刪除的數(shù)據(jù),空間不足的用戶比較在意垃圾占用問題)。
為什么要清理緩存垃圾?主要是因?yàn)榭臻g占用問題,保存時(shí)間久了緩存數(shù)據(jù)就更沒用了,既然是垃圾占用著有用甚至少的可憐的空間容量,自然還是把垃圾扔了才好。其次是因?yàn)閷?dǎo)致硬盤碎小文件增多,拖慢硬盤效率。最后就是垃圾不扔心里不爽咯。
其實(shí)呢,安全軟件那些全家桶的清理功能還不是最專業(yè)的,常見的ccleaner就比全家桶的專業(yè)些,不過國外的軟件界面不如國內(nèi)的軟件易懂些。
手機(jī)中的緩存是什么意思?
有時(shí)候你會(huì)發(fā)現(xiàn),打開一個(gè)APP,它會(huì)直接播放一段幾秒的小視頻,而某個(gè)角落會(huì)標(biāo)注“本視頻已在WiFi下預(yù)載,無需消耗流量”。沒錯(cuò),這個(gè)就是手機(jī)中緩存功能的一個(gè)縮影。
其實(shí)手機(jī)APP緩存功能非常重要,與我們使用體驗(yàn)高度相關(guān)。
那什么是緩存?
緩存顧名思義就是數(shù)據(jù)交互的緩沖區(qū),APP會(huì)把一些經(jīng)常用到的訪問數(shù)據(jù)存儲(chǔ)在手機(jī)本地上,比方說一些icon、圖片、格式文件等等,在APP需要用到的時(shí)候就能直接從手機(jī)本地的閃存中讀取這些數(shù)據(jù),提高運(yùn)行效率。
緩存又有什么用呢?
一是提高了APP使用體驗(yàn),當(dāng)你打開APP時(shí),可以快速地加載上一次已經(jīng)預(yù)先緩存在本地的內(nèi)容,而不是從服務(wù)器上再次下載這部分?jǐn)?shù)據(jù),節(jié)省大量下載時(shí)間,讓你覺得應(yīng)用更加流暢
二是支持用戶離線操作訪問,有時(shí)候我們在飛機(jī)上用手機(jī)寫一個(gè)策劃簡要,但飛機(jī)上并沒有網(wǎng)絡(luò),此時(shí)就會(huì)緩存到本地上,待你下機(jī)重新連接網(wǎng)絡(luò)就會(huì)同步到云端
三是減少流量的消耗,有時(shí)候APP加載的東西都是固定,比方說QQ音樂/網(wǎng)易云音樂你聽過的音樂,如果不是下載,只要你聽過就會(huì)在本地生成一個(gè)緩存文件,方便你下一次再聽,沒必要每時(shí)每刻都從網(wǎng)絡(luò)上下載,浪費(fèi)流量,那么這部分已經(jīng)緩存好的就能夠直接加載,避免消耗流量資源。
想了解更多有關(guān)科技、數(shù)碼、游戲、硬件等專業(yè)問答知識(shí),歡迎右上角點(diǎn)擊關(guān)注我們【超能網(wǎng)】頭條號(hào)。
前端工作量大還是后臺(tái)工作量大?
鄙人作為一個(gè)曾經(jīng)做了四年后端,一年半偽前端的工程師,來說句客觀的話。首先,我想說論技術(shù)棧復(fù)雜度來說,前后端都不淺,那些只懂后端的覺得前端就是一個(gè)兼容性的,還有只懂前端,覺得后端就是crud的,都是高估自己,低谷別人的人。一個(gè)人精力是有限的,每個(gè)技術(shù)路線可以深入的內(nèi)容又非常的多,一個(gè)程序員,其實(shí)大部分時(shí)間解決的,都是如何實(shí)現(xiàn)某種業(yè)務(wù),如何優(yōu)化重構(gòu)古老的工程,特別是大廠里,螺絲釘不要高估自己的作用。
所以當(dāng)我們討論誰的工作多的時(shí)候,按照大概率的情況,基本沒區(qū)別。而你非得討論那些只有少數(shù)人,少數(shù)情況才需要面臨的問題,比如前端的跨端開發(fā)方案,如何磨平各端差異,如何克服動(dòng)畫性能各端瓶頸,以及后端面臨的高并發(fā),高可用性,數(shù)據(jù)庫分庫分表方案,緩存方案,安全策略,通信方案等等。面臨這些攻堅(jiān)問題的人,都是那些少部分人解決的。市場上大部分人,要么是螺絲釘,要么是拿來主義,真的,誰也別瞧不起誰,大家都是打工人,工作內(nèi)容沒太大差別!
為什么國內(nèi)的uniapp一直沒人討論呢?
這東西 搞個(gè)什么玩具app或者 demo都行 就是不能正兒八經(jīng)開發(fā) 問題很多 都沒人解決 本地打個(gè)包 換個(gè)庫跟玩一樣 說換就換 搞得ios各種問題 還有接外設(shè)也是 毛病一堆 官方都不能提供什么好的建議 另外一些什么打包后引用資源的方式說變就變 今天這個(gè)版本的圖片是這么引用的 明天升級(jí)下開發(fā)工具再去打包 圖片路徑就錯(cuò)誤了 你說 這咋整 啥都不穩(wěn)定的 以上為本人親身經(jīng)歷 公司為此多花了20w 換了框架重新開發(fā)
本人后臺(tái)開發(fā),前端說改個(gè)東西要兩天,但我感覺撐死2小時(shí),怎么辦?
本人有五年前臺(tái)開發(fā)經(jīng)驗(yàn),2年后臺(tái)開發(fā)經(jīng)驗(yàn),實(shí)際上我覺得后臺(tái)可能比前臺(tái)還要容易,在不考慮比較深的技術(shù)壁壘的情況下,前臺(tái)有原型圖,我需要百分百還原,再加上畫面特效,用戶操作特效等挺麻煩的,有時(shí)候一個(gè)小小的點(diǎn)卡半天很正常,只要不是特別簡單的需求,說隨便兩個(gè)小時(shí)搞好的我是不怎么相信的。轉(zhuǎn)后臺(tái)之前,本來以為很難,結(jié)果后臺(tái)寫起來真的就是好快,我經(jīng)常做到無聊到?jīng)]事做把人家的活攬過來一起做,后來還是前后臺(tái)一起搞了,后臺(tái)框架搭好以后,剩下的只是業(yè)務(wù)接口實(shí)現(xiàn)而已??偟膩碚f,前臺(tái)入手容易精通難,后臺(tái)更多偏向框架的靈活使用。不要瞧不起前臺(tái),特別是某些后來開發(fā)人員覺得不就是寫個(gè)界面么?但我想說界面的邏輯不比后臺(tái)簡單,前幾年曾經(jīng)去參加一個(gè)公司的面試,以后后開發(fā)人員跟我在那裝,一個(gè)勁的說就是前臺(tái)而已,很簡單的事情,說了好多次,把我說煩了,我就跟他探討前后臺(tái),屁都不懂的面試官,就一新生蛋子,最后我說你公司連面試官都這水平,與我期望不符合,要過來簡歷就撤了,帶著有色眼鏡看待技術(shù)的人一般都是那種一知半解,一瓶子不滿,半瓶子晃悠的人
現(xiàn)在國內(nèi)使用Flutter來開發(fā)的多嗎?
國內(nèi)象閑魚這樣的開發(fā)團(tuán)隊(duì)在Flutter領(lǐng)域的研究很深入,阿里和其他公司對這個(gè)框架也越來越重視。
Flutter在國內(nèi)的普及程度還比較低,而Recent Native等工具似乎使用的人更多。這主要原因是國內(nèi)大部分開發(fā)人員都從事過網(wǎng)站開發(fā),因此對于Html和JS比較熟悉。
由于Flutter采用的是Dart語言,需要學(xué)習(xí)成本,而且Dart的Ui設(shè)計(jì)是純代碼,嵌套極多,對于初學(xué)者而言容易頭疼。不過任何語言只要用習(xí)慣了都不難,往往是萬事開頭難。
既然谷歌選擇了Dart必然有其深意。單純比較或者探討諸如動(dòng)態(tài)還是靜態(tài),是否支持反射等沒有意義,蘿卜白菜各有所愛,支持哪一種語言都有道理,關(guān)鍵要看自身掌握程度。
谷歌可能擔(dān)心Java的版權(quán)問題,因此在安卓原生語言上極力推薦Kotlin。但效果很差,個(gè)人感覺除非禁止使用Java,否則沒人會(huì)選擇Kotlin,這與使用JS慣了不喜歡Dart是一個(gè)道理。但是令人感興趣的是Dart可以生成JS代碼。這應(yīng)該能讓更多人選擇使用的一個(gè)原因。
由于谷歌極力推薦Flutter,這其實(shí)與其新系統(tǒng)Funchsia有關(guān),因此許多人懷疑安卓很有可能被谷歌拋棄。坦率說我希望如此,安卓的性能是一個(gè)弱點(diǎn),雖然改進(jìn)后比以前流暢,但是天生素質(zhì)不好。谷歌正基于自己新的Zircon內(nèi)核打造新系統(tǒng),與鴻蒙思路差不多,可以支持多種平臺(tái)。
Flutter不僅僅谷歌重視,國內(nèi)巨頭也同樣關(guān)注。估計(jì)華為這樣的公司尤其重視,因?yàn)樗麄兪侵袊谝粋€(gè)參與測試Funchsia的企業(yè)。因?yàn)楣雀枵腔谛阅艿囊箝_發(fā)出Flutter,在安卓端Flutter組件與原生一樣都是同樣的渲染引擎,因此性能與原生非常接近,這也是相對于其他框架的優(yōu)勢。
很多年前大家都希望H5能一統(tǒng)江湖,但是我感覺也許未來需要Dart來統(tǒng)一,這種后發(fā)優(yōu)勢可能就是谷歌創(chuàng)新的原因,以一種不妥協(xié)性能的方法又能快速開發(fā)兼顧的特點(diǎn)將是未來的趨勢。