业余玩家如果进行 iOS 开发

2022-05-04 08:03:48 +08:00
 shawnliu03

背景:iPad 上有一款笔记软件 Note Always 我很喜欢,可惜开发者很久没有更新,自己有些需求想满足可没有其他软件能替代。于是萌生自己开发的想法。 主要需求是自己开发自己用,做得还行就开源出去。自己以前也没开发过 iOS app 算是给自己培养个爱好。 自己情况:算法选手,啥都用 Python 。C++有点大学里写数据结构的底子。 打开 Xcode 新建项目看着有点晕,借宝地咨询一下如何正确开始 iOS 开发,不求多么高级的架构只要自己能玩玩就行。

8652 次点击
所在节点    iDev
34 条回复
devcat9
2022-05-04 08:13:43 +08:00
我看了下,这类软件门槛应该不低,不仅仅是 CRUD 。这种 notes 可以手写,还是蛮复杂的。

C++ 熟悉的话,写 iOS 应该没什么难度。难点是如何调教好 iOS 开发的 flow 。Xcode 这个 IDE UI 说实话挺简单的,但是不好用。

Disclamier: 专业 iOS 开发。
devcat9
2022-05-04 08:14:40 +08:00
楼主也可以说下这个 app 特色在哪里?我这里感觉和 OneNote ,GoodNotes 之类的没什么太大区别
shawnliu03
2022-05-04 09:52:39 +08:00
@devcat9 感谢回复。其实我更多的是拿这个 app 当白板 /会议记录这样的写。本身有用 A4 纸记东西的习惯。
最大的痛点是用笔记录时可以用手当橡皮。写起来避免了切工具用起来十分顺畅。其他功能包括用笔画圈选中区域可以随意拖动里面的内容。手绘的一些简单的形状可以自动修成标准形状:比如直线,圆圈,方块等,但不会特别标准,保留了手写的感觉。
目前想要的额外功能包括 seamless pages (双指拖动页面),Notebook level 的一些功能,比如合并不同 notebooks ,单个 page 的预览等。
shinsekai
2022-05-04 09:56:19 +08:00
业余玩家不应该从 Swift playground 入手吗
devcat9
2022-05-04 09:58:02 +08:00
「手绘的一些简单的形状可以自动修成标准形状:比如直线,圆圈,方块等,但不会特别标准,保留了手写的感觉。」这个看起来算法实现不容易,不过应该是楼主擅长的部分。

个人认为可以 UIKit 写,这种 app 用 SwiftUI 没什么意义。
Swift Playground 有个问题就是,太不完善。

算法核心部分甚至都可以用楼主熟悉的 C++ 写。

整个 app 的复杂度不低。
srlp
2022-05-04 10:17:25 +08:00
建议考察一下 https://excalidraw.com/
shawnliu03
2022-05-04 10:41:41 +08:00
@fansvista 说来惭愧。下载了 playground 玩了前两节课感觉有点简单的离谱,跟给三岁小孩的数学题一样。创建一个新的感觉很迷茫不知道干什么…
shawnliu03
2022-05-04 10:51:33 +08:00
@devcat9 感谢建议。我看了看 UI Kit 的 Documentation ,感觉可以一试。

还有一个小疑问,以专业 iOS 开发的角度看大概需要多少工时?(抛去提到的那个算法部分)
icyalala
2022-05-04 13:07:40 +08:00
对楼主这种情况,不要 Playground 、SwiftUI ,甚至可以先不用看 Swift 。
直接 UIKit ,Objective-C++,楼主的 C++ 经验也能直接用进来。
然后找个成熟些的开源方案先尝试改改看,比如 https://github.com/adamwulf/loose-leaf
Chism
2022-05-04 16:10:45 +08:00
react-native 一把梭
learningman
2022-05-04 17:03:56 +08:00
我给自己弄了个,不过是安卓的。
真有人一年给苹果交 600 写玩具啊(
kkhaike
2022-05-04 18:22:53 +08:00
@shawnliu03 要不一起合作。我也有几年没写了。想重新熟悉下。wx: a2toYWlrZQ==
sobigfish
2022-05-04 19:32:57 +08:00
从 CS193P 开始,然后找资料专注学习 PencilKit 和 Metal ?
给你推荐 react native 的可能连 PencilKit 都没听过 😂

https://github.com/0si43/PiecesOfPaper 这个项目能看懂估计就能完成你的需求了
Veneris
2022-05-04 20:43:50 +08:00
@fansvista 我也纠结这个问题,playground 这个东西是不是有些过于简单,过完似乎也不知道如何下手,还是我打开姿势不对
shawnliu03
2022-05-04 20:58:59 +08:00
@icyalala 感谢建议。我在看 Swift 的 Documentation ,先从语言层面熟悉一下。花了几分钟熟悉了 Xcode 的 template 大概明白了一个项目基础的组成部分。在这之前看 GitHub 上一些开源软件的时候感觉无从看起。都不知道哪个文件夹是干什么的
shawnliu03
2022-05-04 21:00:09 +08:00
@learningman 我没交 Apple Developer Program 的钱。因为自己是个苹果全家桶用户,所以就从 iOS 开发下手啦。
shawnliu03
2022-05-04 21:05:12 +08:00
@kkhaike 哈哈感谢你的提议。我现在还是纯新手摸索阶段,这个项目也是个爱好所以开发时间可能会拖的很长,不知道你意下如何。
shawnliu03
2022-05-04 21:08:41 +08:00
@sobigfish 感谢建议和指路!看了看 193P 的大纲感觉还不错,应该比 YouTuber 靠谱😂。前面也有好心人指路了 repo 。我去仔细研究一下。
shawnliu03
2022-05-04 21:10:58 +08:00
@Chism 谢谢提议。自己之前用 react native 写过一个 toy project 。但因为需求是一个 iPad 的笔记软件,甚至不会在 iPhone 上用所以暂时先不考虑这类通用框架。
dearmymy
2022-05-04 23:01:21 +08:00
ios 上架很烦的,而且要每年交钱,还不跨平台,既然笔记软件,还不如开发个 web ,有那钱不如买个服务器,还能多平台备份。我是感觉很多软件 pwa 对于手机足够了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/850721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX