Less is more
少即是多的思考¶
统计信息:字数 2924 阅读6分钟
克服手机上瘾,拒绝熬夜中毒!看5点起床如何改变一个人的生活
痛批今日头条抖音等用户挖掘的软件行为。
短期的娱乐效应会伴随长期的失落和痛苦。
从使用者的角度¶
为什么手机或浪费很多时间?因为手机是一个聚合体,例如微信等聚合体。可能只想做一件事情,打开手机,但是看到其他事情会分散注意力,同时会浪费很多的时间。例如,原本想看一下时间,结果打开手机看到时间顺便看看微信是否有新的消息。点击微信消息后,看到微信朋友圈有红点点,就会看一下最新的动态。例如,原本想打开支付宝进行付款,那么我们付款后,支付宝弹出消息告诉我们能量被偷了,就会点开蚂蚁森林去收能量。这样长期下去,就会浪费很多的时间,不管是安卓还是苹果系统都存在这个问题。APP的说法是增加用户粘度(使用更多的流量),实际上浪费的是用户宝贵的时间。
如何改变?如果看时间,就去看手表(看完手机的时间可能会玩一会儿);如果每隔一小时看手机的微信消息,那么可以白天关闭朋友圈,晚上9点花10分钟浏览朋友圈的有用信息(however大部分消息是无用的)。把不同的功能让不同的软件(设备)识别,看似功能分散,很多东西,实际上少即是多,会节省大量的时间和精力。
从开发者的角度¶
单个界面需要明确的功能,模块化组件化,单个模块可以完成单个任务,单个函数完成单个功能。这样的代码初始量可能较大,后期维护和使用会更加简单。将需要的前后端接口统一放在一个组件内,页面的展示放在另一个组件内部,底层数据的处理放在一个组件内部实现。这样做到数据和业务逻辑的分离。
如果一个页面功能太多,实际上用户用到的功能不到一半,那么我们完全可以砍掉主不常用的一部分(放在其他界面菜单中处理);对于开发者,太多功能聚集会造成SPA冗杂。
前端处理的数据分为两部分:内部数据和外部数据:内部数据(和组件相关)需要在对应的组件内部维护(权责分明原则);外部数据(需要从服务器获取,或者用户交互数据),需要从服务器获取的数据可以维护在顶层组件内部,然后分配到不同的子组件使用。不同界面的用户交互数据可以维护在子组件,直接调用公共函数(处理后台的接口),然后以回调函数的形式反馈到父组件。(如果API仅仅返回布尔值,可以放在底层组件;如果API返回的是数据库更新后的信息,可以放在顶层组件,直接更新状态并驱动组件变化)
整体原则:低耦合高内聚,模块化处理权责分明