先让核心体验成立
一个任务清单最重要的动作是添加、完成和整理。把这些动作做顺畅,再考虑同步与协作,可以让第一版更快得到真实反馈。
本地优先的原型不要求访客建立账号。数据保存在当前浏览器中,离开页面再回来,仍可以继续上次的工作。
为存储失败留下余地
浏览器存储并不总是可用。隐私设置、空间限制或受限环境都可能让写入失败,因此存储操作需要用 try 和 catch 包裹。
即使持久化失败,当前会话中的任务仍然应该可以操作,并用清晰的提示说明当前状态。
把数据与界面分开
让任务以数组形式存在,再根据状态渲染界面。每次操作先更新数据,再保存和刷新视图,这样更容易理解和维护。
不要把展示的 HTML 当成唯一的数据来源。清晰的模型也为之后导出或迁移内容留出空间。
了解适用的边界
本地数据不会自动出现在其他设备上,清理浏览器也可能删除内容。对于重要记录,应该提供导出和备份方式。
当同步和多人协作成为真实需求时,再引入服务端存储和身份系统。每一层复杂度都应该服务一个明确的问题。
代码示例
JAVASCRIPT
function saveTasks(tasks) {
try {
localStorage.setItem('tasks', JSON.stringify(tasks));
return true;
} catch {
return false;
}
}✳
← 上一篇:让 Git 成为习惯,而不只是命令。继续阅读个人网站,先有内容,再选框架。 →谢谢你读到这里。
把实践留成文字,再把文字带回实践。