flutter硬伤,flutter 有用吗
一次不正经的Remote_WSL2体验
VSCode的Remote Development扩展正式发布也有两个月了。我正尝试将开发环境逐渐迁移到WSL,但在配置 Flutter 时,却发现WSL的一个先天硬伤:
成都创新互联-专业网站定制、快速模板网站建设、高性价比坡头网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式坡头网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖坡头地区。费用合理售后完善,十载实体公司更值得信赖。
—— 不能运行32位ELF程序 。
怎么办呢,尝试升级到 WSL2 吧......
如果WSL安装了 zsh 之类的shell并作为默认启动,那么在使用Remote_WSL时,VSCode的扩展依赖的依旧是 bash 的环境变量配置,并不会启动zsh。
因此,在设置如 ANDROID_HOME 、 GOPATH 之类的环境变量时,不要将自定义变量设置保存在 $HOME/.zshrc 里。
在WSL中使用Flutter是我升级到WSL2的动因,WSL2确实解决了运行32bit程序的硬伤,但由于WSL2是完全的虚拟机环境,也产生了新的问题:
—— android虚拟机就不能用了。
当前WSL2预览版本的bug,不能通过shell打开 code 、 explore 之类的windows程序,等待未来版本解决。
前端开发未来的发展前景怎么样?
web前端开发前景还是比较好的。具体您可以通过以下几个方面去看看。
第一、web前端前景
1、 现在进入到了互联网时代,不管干什么基本都离不开网络,尤其是电商行业,对于用户的交互和体验度更加注重,而这些基本都是web前端技术实现的效果。
2、 现在对于IT互联网的应用广泛,app、小程序、移动端、pc端等都是需要前端技术的开发支持才能够完成。
第二、web前端待遇
对于web前端岗位的薪资,建议您可以去招聘网站上看一下。如果感觉招聘网站上边的不太真实的话,那么可以通过身边的做相关工作的朋友打听一下,这个是很真实的。
通过上边的图表可以看到前端的就业薪资相对式比较高的,10k-15k最多占到三分之一。
在北京、上海和深圳的平均薪资是很高的,尤其是北京已经达到了18k的高薪。从这方面来看web前端的薪资是很高的。
工作年限与工资也是呈现正比现象(这个正比现象是您在工作之后依旧坚持不断的学习web前端最新技术而呈现的)。加上大型企业对于用户界面体验的要求的高度重视,前端人才的需求也在增加。
所以Web前端的工作无法被替代,发展趋势是可见的,客户需求是存在,前景是巨大的。但还是要提醒您应该时刻记住只有不断的自我学习更新,才不会被行业所淘汰。
第三、web前端与其他编程相对比
web前端如果跟java、大数据相比的话,我个人不建议您比,因为的确没什么可比性。它们各自的工作方向不同,主要还是根据您自身的情况,一方面看一下自己喜欢哪个,另一方面看自己适合哪个。最终再做决定。
但有一点可以肯定的是无论学web前端、java还是大数据前景都不错,最最重要的是您自己需做以下步骤:
1、自己是否真的喜欢
2、自己是否适合
3、自己是否能即便参加工作之后保持长期学习的状态
如果都没有问题,选择自己喜欢的即可。
最后、无论是学哪个,“自学”也好,报班学习也罢,跟您自己的努力是分不开的,因此养成坚持长期不断学习的习惯是很有必要的。
Flutter 与 iOS 原生 webView 对比
本文对比的是 UIWebView、WKWebView、flutter_webview_plugin(在iOS中使用的是WKWebView)的加载速度,内存使用情况。
测试网页打开的速度,只需要获取 WebView 在开始加载网页和网页加载完成时的时间戳,时间戳的差即为打开网页的时间
为了使差异更明显,我们选择较为复杂的 新浪首页 进行加载的对比,为了减小网络对加载速度的影响,我们让手机连接同一个网络,分别进行 10 次测试然后取平均值,另外,我们需要关闭 WebView 的缓存,防止缓存对加载速度产生影响
下面使笔者进行 10 次测试所得到的数据
结果让我有点惊讶,一直以为 WKWebView 会是个王者。结果看,速度上 WKWebView 略慢一点,不过总体差异不大(该结果仅仅是测试新浪的结果,仅供参考啦)
在这里,笔者又加了一个测试,尝试记录从 viewController 的 viewDidLoad 到 webview 的 didFinish 时间,测试了新浪的数据,如下:
UIWebViewA : 4970、3808、3815、4250、3556 avg(4079.8) (加载完所有页面)
UIWebViewB : 4103、3124、3070、3256、2835 avg(3277.6)(加载sina完毕)
WKWebView : 3672、3032、2892、2912、2739 avg(3049.4)
flutter_webView : 4532、3901、4310、3496、3378 avg(3923.4)
其中可以看到,webView 有两行,UIWebViewB 的数据就是加载 sina 主站的时间;UIWebViewA 的数据是因为在加载完 sina 主站之后,新浪又加载了一个 ,所以导致总时间延长,不过即使按照 UIWebViewB 的数据来比较,也是 wkWebView 略胜一筹。
此处可以看出 flutter_webView 使用的是 wkwebView,所以它吃亏的主要原因是 flutter 包了一层。
结论:
速度(didStart - didFinish) UIWebView flutter_webview WKWebView
速度(viewDidLoad - didFinish)WKWebView UIWebView flutter_webview
这里查看内存使用的是 xcode 的 debug session 中的 memory。
首先看之前测试时,连续打开十次新浪的内存情况
接着我们在看一下打开淘宝首页的内存情况
从图上可以看出,WKWebView 在内存方面有很大的优势啊,UIWebView 的内存是真的伤啊,然后 debug 看了一下 flutter_webView,他使用的就是原生的 webView 。
他相比较原生 WKWebView 的内存开销稍大一点,从测试表现来看,一般大个 30 MB 左右。
结论:内存 WKWebView flutter_webview UIWebView
可以在 html5test 中对浏览器的兼容性进行评分,通过测试发现得分分别如下
因为 flutter 里使用的就是 WK,所以和原生的 WKWebView 一样都是 444 分,比 UIWebView 的 437 略胜一筹
结论:兼容性 WKWebView = flutter_webview UIWebView
UIWebView : 速度相比较 WKWebView 稍快一点,但是内存是一大硬伤,所以只要条件允许,就不推荐使用了
WKWebView : 速度略慢一点,不过差别不大,总体可以接受。是比UIWebView更好的选择,推荐使用。
flutter_webView_plugin :在iOS中使用的就是原生的WKWebView,所以总体和 native WKWebView 表现差不多。如果是混编项目中,因为它被包了一层,所以页面加载上存在一定的劣势,所以混编项目中仍然推荐使用 WKWebView。不过如果从多端考虑、以及项目可迁移等,那么使用也未尝不可,就是维护成本要增加一些,需要维护两套 webView。这个就需要根据自己的情况自己取舍了。
前端开发怎么样,想去学习,有推荐的吗?
核心
前端三大框架已趋于平稳,标准化,向 Web Components 看齐。
小程序(各种平台)爆发,互联网创业优先选择小程序。多端受到重视,不再只是 all in mobile。
WebAssembly 让更多语言可以运行在浏览器上。
PWA进入稳定期,尤其是 PWA 桌面版,可以让我们更好的看清楚 PC 桌面版开发的全貌。
Flutter 发展较快,最大硬伤是Dart语言。RN原有的开发方式会退出历史舞台。
TypeScript已经慢慢成为前端的主流开发如果你想要学好web前端最好加入一个好的学习环境,可以来这个Q群,首先是132,中间是667,最后是127,这样大家学习的话就比较方便,还能够共同交流和分享资料语言,将成为必备开发技能。
开发团队前后端分离已经进入深水期。
其他:ServerLess\GraphSQL发展迅猛、D3、webgl、SVG、webpack不再是唯一的打包工具选项(Rollup、parcel零配置)、WebRTC、静态生成、人工智能前端化
趋势一:更加移动优先
响应式设计显然是目前web前端开发领域的主要趋势之一,并且这一趋势在未来还将持续一段时间。虽然现在的响应式设计大部分还是以PC版优先,然而如果有一天我们把PC版放到比移动版次要的位置上,也没有什么好奇怪的。因为,目前许多web前端开发者已经开始转向以移动优先方案来做他们的响应式设计和开发,这就象征着一个重大转变,值得我们跟进的。
趋势二:更多使用快速原型开发工具
众多web前端开发者从2018年开始尝试使用快速原型开发工具,而在2019年将是这种技术真正爆发的一年。“UXpin、Webflow、Invision以及其它许多快速原型开发工具,让设计师不用写一行代码,就能为网站和服务快速创建低保真和高保真原型,便于设计师衡量它们的可用性和美观性。”web设计师Jamie 如是说,“许多工具也允许你在浏览器中设计原型并从工具里真正启动网站自身。”
趋势三:营销类页面小程序化
这个指的就是大家平时在微信里看到的各类营销网页,因为主要入口在微信,因此变成微信小程序。这个大家比较好理解吧,就不多说了。小程序现在可能BUG多,功能跟不上,但是要替代这类网页可能也就是2年不到的时间。
趋势四:HTML内的技术改进
这个能影响到的范围看起来很大,但其实场景比较有限,主要是排除掉上面说的1和3之外的空间。空间就在于这两大技术目前都没有成熟的最佳实践,还需要探索。
在互联网时代,更多的人、场景、知识将需要被更加紧密地联系在一起,而有连接的地方就会有界面,有界面的地方就会有前端。每一门学科与技术都是在不断摸索和总结中前行,前端技术也不例外。未来我们有理由相信在前端技术日趋成熟的前提下,新的突破和变革将会给我们的工作与生活带来更多惊喜。
趋势五:虚拟现实
如果要讨论web前端技术趋势怎能不提到虚拟现实技术VR呢,2019年将继续是VR成为主流的一年,这也就意味着web开发者将通过VR来吸引用户,我们已经看到一些公司比如Mozilla和Google投资开发VR与Web之间的API。越来越多的VR应用程序将相继问世,所以如果看到越来越多的虚拟现实元素出现在 Web上,也别觉得奇怪。
本文标题:flutter硬伤,flutter 有用吗
文章转载:http://pwwzsj.com/article/dsgeeih.html