flutter适合做什么
Flutter是Google开源的构建用户界面(UI)工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。flutter适用于需要实现 IOS/Android 多端发布,同时还是非常棒的防注入防爬虫解决方案。关于flutter的具体内容我们将在文章中展开。
需要实现 IOS/Android 多端发布,那么 Flutter 可以是选项之一。
公司为了方便管理客户端,需要一端开发多端发布。跨平台的开发方案那么多,为什么独独选择它呢?如果说你有以下几个需求,那么further说是你的首选。
APP有着丰富的2D动画效果,并希望它们表现良好。
有一定保密需求,不希望APP数据泄露,被爬。
对跨端应用的流畅度要求较高。
第1个,和第三点一起解释下,Flutter 基于 OpenGL 驱动绘制UI界面,做做动画是手到擒来。
由于Flutter 相较于其他 “类Web” 跨端解决方案的主要区别就是,没有中间层- “js runtime”, 这一点就能提高不少性能。
还没完,Flutter 还自己实现 手机OS的渲染层,他不用 手机的渲染层,也就是说它可以按照自己的需求定制渲染层,相比手机OS就少了很多包袱。这样的话,他的性能可以倒逼native的。
第2点,我发现,使用xian鱼App的过程中,通过长按点击是不能够触发选择复制的。刚刚也说了Flutter 是通过OpenGL 绘制的画面,没有用到手机的渲染层,那么对手机来讲,呈现在屏幕上的就是一幅动画,不是native 组件,也不是Hmtl,没法去捕捉文本,等元素。(除非OCR)
我们可以用Selenium,Appium 做测试工具,更或者爬虫。就 Flutter 就只知道Widget Inspector ,且还是调试未打包的App,这对爬虫就很不友好了,只能靠抓网络包了。
要克服第二点,就看Google 官方会不会把 Flutter Inspector 放入终端了。或者说将UI layer 层暴露给OS,让手机OS能够审查元素。
所以,目前Flutter还是非常棒的防注入防爬虫解决方案。例如我能网上找到tao宝App爬虫,但xian鱼App爬虫几乎没有(我知道这里有人就要说通过 http抓包模拟请求,这种爬虫很容易挂)。我预测,未来数据会形成自己的孤岛,爬虫会逐渐Selenium化。