Android 开发周记-第4期

简介: 如何做框架选型?

大家好,我是陈有余,又到了每周总结的时间了,一起来看看我这周都有什么收获吧!大家也可以在留言区分享自己的收获。

1. 思考总结 💡

如何做框架选型?

最近在开发 Flutter 相关的项目,大家应该知道 Flutter 开发绕不开的一个话题就是状态管理,好在已经有先行者考虑并解决了这个问题,像 Provider、flutter_redux、scoped_model 等等。

但是新的问题是,Flutter 状态管理框架太多,不知道如何去选择 🤪。

首先你得去学习每一个框架,然后再深入了解框架的优缺点,最后才能做出决定。

那有什么办法能辅助我们做出正确的决定吗?

我的一个原则是:站在工程化的角度思考

假如你只是开发一个体量很小的应用,比如公司内部使用的一些运营工具,需求和功能有限,未来的业务也不会无限增大,那么这个时候你只需要选择一个容易上手、使用简单的状态管理框架即可,不用过多对比优劣。

如果是开发中型或者大型的项目,你在选择框架的时候就必须站在工程化的角度思考。

以 58APP 举例子。

58APP 本身是一个庞大的工程,由多个团队共同负责,如果你为 58APP 选择合适的状态管理框架,那么需要考虑的情况就更多了。

比如,是否适合多团队开发(跨端),是否能统一管理、拦截和隔离应用中所有的状态、是否能做到UI逻辑和业务逻辑解耦、是否能适应快速的业务调整等等。

如果这些问题都考虑到了,那么适合你项目的框架就会自己浮出水面,因为可选范围越来越小。

我一直觉得,框架没有绝对的好坏,只要适合自己项目的,都是好框架。

2. 本周学到了 👨🏻‍💻

2.1 ETC 原则

不是高速路上收费的 ETC 😅!

Easier To Change,即更容易变更

它可以用来评估一个设计是否是优秀的设计,满足 ETC 原则的即可认为是优秀的设计。

除此以外其余设计原则都是 ETC 的一个特例:

  • 为什么解耦很好?因为通过隔离关注焦点可让每一部分都容易变更,此谓 ETC。

  • 为什么单一职责原则很有用?因为一个需求变化仅体现为某个单一模块上的一个对应变化,此谓 ETC!

  • 为什么命名很重要?因为好的命名可以使代码更容易阅读,而你需要通过阅读来变更代码,此谓 ETC!

ETC 是一条价值观念,而不是一条规则。

价值观念是帮助你做决定的:我应该做这个,还是做那个?在软件领域思考时,ETC 是个向导,它能帮助你在不同的路线中选出一条。

日常工作中,如何实践 ETC 原则:

在做一件事情的时候有意识的问自己,刚刚做的事情是让整个系统更容易改变还是更难改变?保持文件的时候问一遍,测试的时候问一遍,修改 bug 的时候问一遍。

2.2 做开发也需要未雨绸缪

工作中,经常会发现这一类人,他们做什么事情都感觉很轻松,而且很能适应环境的变化和突发状况。

比如,拿面试来说,有的人应对面试很轻松,似乎没有问题能难倒他们,而有的人则显得很吃力。

他们之所以能够应对自如,原因就是他们懂得未雨绸缪,提前规划,预判风险,想好对策,然后坚决执行。

所以,在日常工作中,我们也应该学会提前规划自己的学习、技术方向、文章产出以及思考目前负责的项目未来有哪些技术挑战,然后提前做一些准备工作。

3. 闲言碎语 🔈

这两天学了一个新词:元宇宙

什么是元宇宙可以看看这篇文章:元宇宙,人类最后的迁徙

虽然我也是个科幻迷,但其实对元宇宙也不是完全理解,不知道大家是如何理解这个概念的。

4. 后记 🔚

听说好看的人都喜欢给我点赞👍!

See you next week!

开发周记-封面次图.png

相关文章
|
2天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
6天前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
1月前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
69 19
|
1月前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
74 14
|
1月前
|
Java Linux 数据库
探索安卓开发:打造你的第一款应用
在数字时代的浪潮中,每个人都有机会成为创意的实现者。本文将带你走进安卓开发的奇妙世界,通过浅显易懂的语言和实际代码示例,引导你从零开始构建自己的第一款安卓应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇门,让你的创意和技术一起飞扬。
|
1月前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
在数字时代,掌握安卓应用开发技能是进入IT行业的关键。本文将引导读者从零基础开始,逐步深入安卓开发的世界,通过实际案例和代码示例,展示如何构建自己的第一个安卓应用。我们将探讨基本概念、开发工具设置、用户界面设计、数据处理以及发布应用的全过程。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在安卓开发的道路上迈出坚实的步伐。
41 5
|
1月前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
151 3
|
1月前
|
XML 搜索推荐 前端开发
安卓开发中的自定义视图:打造个性化UI组件
在安卓应用开发中,自定义视图是一种强大的工具,它允许开发者创造独一无二的用户界面元素,从而提升应用的外观和用户体验。本文将通过一个简单的自定义视图示例,引导你了解如何在安卓项目中实现自定义组件,并探讨其背后的技术原理。我们将从基础的View类讲起,逐步深入到绘图、事件处理以及性能优化等方面。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
1月前
|
搜索推荐 前端开发 测试技术
打造个性化安卓应用:从设计到开发的全面指南
在这个数字时代,拥有一个定制的移动应用不仅是一种趋势,更是个人或企业品牌的重要延伸。本文将引导你通过一系列简单易懂的步骤,从构思你的应用理念开始,直至实现一个功能齐全的安卓应用。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你提供必要的工具和知识,帮助你将创意转化为现实。
|
1月前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
47 0

热门文章

最新文章