实战编程·使用SwiftUI从0到1完成一款iOS笔记App(一)(1)

简介: 实战编程·使用SwiftUI从0到1完成一款iOS笔记App(一)

实战编程·使用SwiftUI从0到1完成一款iOS笔记App(一)


项目起源

前段时间稀土掘金客户端上线了“闪念笔记”功能,作为尝鲜一族便稍微体验了一下。

闪念笔记界面简约操作容易上手,相比较印象笔记、有道云笔记等综合型笔记应用,当前闪念笔记当前专注于笔记本身,只作为一种知识储备的记录工具。

深入研究后发现了点意外之喜,以稀土掘金流量口结合的闪念笔记,与Web端应用、浏览器剪藏插件相融合可以构成闭环产品生态体系。

不难猜想,在笔记工具功能完善和使用率覆盖一定市场份额后,必将正式打造移动端和桌面版应用,切入笔记类工具领域杀出一条血路。

当然,以上仅仅只是猜想。

进入正题,本章我们来搭建第一个SwiftUI实战项目,从0到1完成一款iOS笔记App。

需求分析

一款最小MVP的笔记App是怎样的呢?及时记录自己的想法、念头,搜索自己曾经记录的笔记,这是一款笔记最基本的功能需求点。

我们先梳理产品架构图,如下图所示:

image.png

一款最简单的笔记软件,包含2个核心页面:

  • 首页界面:展示笔记列表、新建笔记按钮,若是做功能强化,可以加上搜索栏;
  • 新建按钮:点击按钮,打开“新建页面”弹窗,或者进入新的页面,编辑完成关闭/回到首页;

产品设计

下一步,我们来完成产品的原型设计,构建2个页面,并将产品架构中的元素信息转换为页面功能,如下图所示:

image.png

用户首次进入时,念想笔记将会展示一个空白页,空白页面由标题、缺省图、指引文字、新建笔记按钮组成,主要引导用户进行主要功能的使用。

当用户点击新建笔记按钮时,唤起“新建笔记”弹窗页面,弹窗页面相比较进入一个新的页面,用户思维不会被强行打断,这是一种很好的交互。

在“新建笔记”页面中,主要操作为“返回”按钮、“完成”按钮、标题输入框、内容输入框。

用户点击“返回”按钮,则向下关闭该弹窗,并清空该页面已输入内容;

当用户点击“完成”按钮时,需要判断“标题输入框”、“内容输入框”是否有键入的文字,且符合预设的规则(文字数量等);

当满足规则时,则吐司提示保存成功,并关闭该弹窗页面,且在笔记列表中插入一条新的笔记。若不满足规则(校验标题和内容是否为空),则吐司冒泡提示相关信息(标题不能为空、内容不能为空)。

为更好地指引用户填写,标题输入框需要有提示文字,当文字键入时,清空提示文字,内容输入框同理。

对于搜索功能,核心点在于根据内容关键字进行搜索,并实时进行反馈。当然通常由于性能问题,会考虑输入后点击“搜索”触发搜索功能的交互方式。

以上就是简单的需求文档的撰写。

UI设计

下面我们使用AdobeXD根据产品原型图绘制UI设计稿,UI设计稿需要包含所有的页面及其交互动作,如下图所示:

image.png

UI设计需要根据产品原型的元素和内容,结合当前市场上的常用交互逻辑和设计规范,输出高保真的设计稿。其中包含各项元素组件的尺寸规范、文字规范、交互规范等,旨在为前端开发人员提供很好的样式开发指引

UI设计师和产品经理的分工常常是产品经理提供产品原型DemoUI设计师确定产品的主体风格和设计规范,输出UI设计稿,再与产品经理或者与业务团队进行评审,通过后方可进行切图,移交给下一流程。

UI设计稿最为App最终呈现的效果产物,前端工程师需要根据UI设计稿达到一比一还原,后期也可以与UI设计稿进行对比进行App样式验收。

在这里科普一个概念,切图。

切图是UI设计师将已经完成好的静态页面中的元素使用工具进行切分,与静态页面分离,示例:图标按钮、插图。UI设计师将这些需要在实际开发过程中需要导入使用的素材从静态页面上“切”下来,便可以在下面的协同工具中导出不同尺寸的图片进行使用。

UI设计师切好图后,需要再借助一个工具交付给前端设计师,这里推荐的工具是PxCook像素大厨

安装完成,AdobeXD将会安装对应的插件,选择文件 > 导出 > PxCook。如下图所示:

image.png

PxCook将会被唤起,并创建一个新项目,输入“念头笔记”,选择类型为iOS,点击“创建本地项目”,如下图所示:

image.png

选择导入画板,PxCook会自动勾选由AdobeXD导出的所有面板,我们保持全选状态,点击“导入”,如下图所示:

image.png

如此,我们便将AdobeXD中的UI设计稿导入到PxCook中了。

在PxCook中,我们可以看到UI设计稿设计的元素的尺寸、元素之间的相对距离,方便于开发者根据UI设计稿进行前端静态页面的开发工作,如下图所示:

image.png


相关文章
|
8月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1562 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
8月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1075 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
8月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
1153 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
8月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
404 0
|
9月前
|
运维 iOS开发 Windows
windows电脑备案ios APP获取公钥和证书指纹Sha-1值的方法
在阿里云进行APP备案、在备案IOS端的环节的时候,发现需要我们将p12证书安装在电脑上,再用xcode或或钥匙串访问来获取这个证书的公钥和sha-1值。 但是大部分开发uniapp应用的同学们,或者进行发布的运维人员的电脑都是windows,无法按照阿里云的教程来获取ios的公钥和sha-1。备案就被卡主了。 这里介绍下另一个方法,就是使用香蕉云编来在线上传证书获取。如下图所示,打开香蕉云编后,找到下图这个功能
1299 0
|
11月前
|
存储 移动开发 监控
App Trace功能实战:一键拉起、快速安装与免提写邀请码的应用实践
App Trace系统通过一键拉起、快速安装和免提写邀请码三大功能,显著提升用户转化率、安装成功率和邀请注册率。结合深度技术实现与优化,助力公司用户增长,成为移动端核心基础设施。
|
数据库 iOS开发 存储
iOS 地址簿编程指南(Address Book Programming Guide for iOS)
iOS 地址簿编程指南(Address Book Programming Guide for iOS) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
1473 0
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
iOS开发 开发者
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
995 67
uniapp开发ios打包Error code = -5000 Error message: Error: certificate file(p12) import failed!报错问题如何解决
|
iOS开发 开发者 MacOS
深入探索iOS开发中的SwiftUI框架
【10月更文挑战第21天】 本文将带领读者深入了解Apple最新推出的SwiftUI框架,这一革命性的用户界面构建工具为iOS开发者提供了一种声明式、高效且直观的方式来创建复杂的用户界面。通过分析SwiftUI的核心概念、主要特性以及在实际项目中的应用示例,我们将展示如何利用SwiftUI简化UI代码,提高开发效率,并保持应用程序的高性能和响应性。无论你是iOS开发的新手还是有经验的开发者,本文都将为你提供宝贵的见解和实用的指导。
528 66