juju's Blog

Thoughs, ideas and stories

javascript

web暗黑模式浅议

大家有没有发现近些年的新设备从移动的到PC全都支持暗黑模式了?是的,这是个趋势。而且有些应用市场上不支持暗黑模式的应用都已经不能上线了。 暗黑模式本质上是一种换肤技术。早在20年前,qzone,人人网之类的应用就已经在web平台上实现了换肤。支持的皮肤可谓五花八门,还能商业化卖钱。所以暗黑模式不是什么新技术。然而为什么最近几年却出现新的活力? 主要原因在于操作系统层面都加入了对暗黑模式的支持。最开始是Android (Android 10),IOS (IOS 13)等移动端系统,之后桌面端也都加入了暗黑阵营。从而形成了从操作系统到应用程序,再到web的全链路黑化。用户能在操作系统上一键开启全局的暗黑模式。 暗黑模式香吗? 暗黑模式有什么优点,值的我们追随? * 视力保护:相信大家都有半夜刷手机的经历。晚上一个大白屏确实很刺眼。 * 美学、用户习惯:这个角度完全是从个人的感觉出发。有人觉得白底黑字好看,有人觉得黑底白字更酷。另外还要考虑用户习惯,比如股票行情、命令行终端一般都是暗黑模式的。 * 省电:移动设备屏幕电量消耗是个大头。因为屏幕的发光物理原理,深色比

Embed Flutter in Android

安卓全页面嵌入 全页面嵌入flutter使用io.flutter.embedding.android.FlutterActivity 部分页面嵌入 部分页面嵌入flutter使用io.flutter.embedding.android.FlutterView和io.flutter.embedding.engine.FlutterEngine 在onCreate方法里面flutterView.attachToFlutterEngine(flutterEngine);onDestroy方法里面flutterView.detachFromFlutterEngine();同时还要把其他几个声明周期状态传到flutter,例如flutterEngine.getLifecycleChannel().appIsResumed();

前端的babel优化法

* 发现系统问题 * 优化protobuf生成的js * 使用babel修改protobuf产出文件 * 删除部分js代码 * 替换部分js代码 * 总结 大前端的时代,前端的重要性已经已经无可置疑。在某些情况下,前端甚至决定了产品的成败。体验优良,性能卓越的前端产品留得住用户,体验糟糕的前端即使后端能力再优秀,最后也难逃被用户卸载的命运。 为了追求前端的性能,前端需要对构建出来的js负责,确保发送给用户的js没有一行多余。这样才能确保最快的加载时间。但是,这个目标通常是比较难做到的。其中一个原因是程序员对webpack构建出来的js都包含什么不是十分清晰;另外一个原因是:大部分项目用了很多轮子(npm包),以确保项目可以按时上线。这些轮子虽然可以使用,但是代码不一定是精简的,我们又对这些代码没有控制能力。即使有些冗余,很多人也都只是忍了。 这里以我们的项目为例介绍我们是如何解决这两个问题的。 发现系统问题 首先,我们需要分析一下我们的项目都用了哪些库,打包出来都多大。 我们用了一个工具webpack-bundle-analyzer [https://www.npm

You've successfully subscribed to juju's Blog!