前言
前几天去参加了一场面试。面试的题目大多很基础,有一道关于埋点的问题,面试官问我如果不用第三方SDK进行埋点,自己埋点的话,如何减少埋点对业务代码的入侵。
当时没想太多,就说创建一个 BaseView 类,在这个类中进行埋点的操作,然后使需要进行埋点操作的 View 继承这个 Base 类。后来想想,这个方案其实存在很多问题,因为让每个需要埋点的 View 去继承 BaseView 类,说明 View 需要自定义,会耗费很多的时间和精力,对于自带的 Button 等控件的埋点,这种方法又无法实现。所以说,其实在这个问题上,我答的不是很好,但可能之前的几个问题答得不错,面试官也没说什么,就说行,然后继续问下面的问题。
对于埋点,减少业务代码入侵这个问题,我回来想了想,或许用代理模式来实现,会是一个很好的选择。
FLutter的优势
(1)在所有的平台下,都可以保持同样UI样式,同样的业务逻辑
大多数跨平台框架中的UI呈现如下图所示:
而Flutter是直接画在画布上:
(2)减少开发所需的时间
- Flutter的热重载可以高效快速的看到改变,甚至保留应用状态;
- 官方提供的各种现成的组件(Material和Cupertino)。
(3)快速迭代上线
不需要单独适配 iOS、Android 双端的 UI 层面。
(4)更接近native的性能表现
Flutter不依赖任何中间代码,最终直接构建成机器码,提高了性能。
(5)自定义复杂动画
Flutter最大的优势之一就是可以定制你在屏幕上看到的任何东西,不管它有多复杂。
(6)有自己的渲染引擎
Flutter使用Skia将界面渲染到平台提供的画布上,意味着不需调整,即可迁移到其他平台。
(7)更方便调用native api
获取GPS坐标、蓝牙通信、收集传感器数据、权限处理等,未支持的也可通过platform channel 。
(8)更高的潜力
iOS、Android、Web、Desktop…
三、Flutter 与 React Native (Hippy)
1. UI方面
在新旧设备上也能保持一致
Flutter动画效果:
结尾
好了,今天的分享就到这里,如果你对在面试中遇到的问题,或者刚毕业及工作几年迷茫不知道该如何准备面试并突破现状提升自己,对于自己的未来还不够了解不知道给如何规划,可以来看看同行们都是如何突破现状,怎么学习的,来吸收他们的面试以及工作经验完善自己的之后的面试计划及职业规划。
这里放上一部分我工作以来以及参与过的大大小小的面试收集总结出来的一套进阶学习的视频及面试专题资料包,在这里免费分享给大家,主要还是希望大家在如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
如今大环境不好的情况下面试能够顺利一点,希望可以帮助到大家~
[外链图片转存中…(img-ZB4RbIje-1612523260705)]