背景:iPad 上有一款笔记软件 Note Always 我很喜欢,可惜开发者很久没有更新,自己有些需求想满足可没有其他软件能替代。于是萌生自己开发的想法。 主要需求是自己开发自己用,做得还行就开源出去。自己以前也没开发过 iOS app 算是给自己培养个爱好。 自己情况:算法选手,啥都用 Python 。C++有点大学里写数据结构的底子。 打开 Xcode 新建项目看着有点晕,借宝地咨询一下如何正确开始 iOS 开发,不求多么高级的架构只要自己能玩玩就行。
1
devcat9 2022-05-04 08:13:43 +08:00
我看了下,这类软件门槛应该不低,不仅仅是 CRUD 。这种 notes 可以手写,还是蛮复杂的。
C++ 熟悉的话,写 iOS 应该没什么难度。难点是如何调教好 iOS 开发的 flow 。Xcode 这个 IDE UI 说实话挺简单的,但是不好用。 Disclamier: 专业 iOS 开发。 |
2
devcat9 2022-05-04 08:14:40 +08:00
楼主也可以说下这个 app 特色在哪里?我这里感觉和 OneNote ,GoodNotes 之类的没什么太大区别
|
3
shawnliu03 OP @devcat9 感谢回复。其实我更多的是拿这个 app 当白板 /会议记录这样的写。本身有用 A4 纸记东西的习惯。
最大的痛点是用笔记录时可以用手当橡皮。写起来避免了切工具用起来十分顺畅。其他功能包括用笔画圈选中区域可以随意拖动里面的内容。手绘的一些简单的形状可以自动修成标准形状:比如直线,圆圈,方块等,但不会特别标准,保留了手写的感觉。 目前想要的额外功能包括 seamless pages (双指拖动页面),Notebook level 的一些功能,比如合并不同 notebooks ,单个 page 的预览等。 |
4
shinsekai 2022-05-04 09:56:19 +08:00 via Android
业余玩家不应该从 Swift playground 入手吗
|
5
devcat9 2022-05-04 09:58:02 +08:00 1
「手绘的一些简单的形状可以自动修成标准形状:比如直线,圆圈,方块等,但不会特别标准,保留了手写的感觉。」这个看起来算法实现不容易,不过应该是楼主擅长的部分。
个人认为可以 UIKit 写,这种 app 用 SwiftUI 没什么意义。 Swift Playground 有个问题就是,太不完善。 算法核心部分甚至都可以用楼主熟悉的 C++ 写。 整个 app 的复杂度不低。 |
6
srlp 2022-05-04 10:17:25 +08:00 via iPhone
建议考察一下 https://excalidraw.com/
|
7
shawnliu03 OP @fansvista 说来惭愧。下载了 playground 玩了前两节课感觉有点简单的离谱,跟给三岁小孩的数学题一样。创建一个新的感觉很迷茫不知道干什么…
|
8
shawnliu03 OP |
9
icyalala 2022-05-04 13:07:40 +08:00 1
对楼主这种情况,不要 Playground 、SwiftUI ,甚至可以先不用看 Swift 。
直接 UIKit ,Objective-C++,楼主的 C++ 经验也能直接用进来。 然后找个成熟些的开源方案先尝试改改看,比如 https://github.com/adamwulf/loose-leaf |
10
Chism 2022-05-04 16:10:45 +08:00
react-native 一把梭
|
11
learningman 2022-05-04 17:03:56 +08:00 via Android
我给自己弄了个,不过是安卓的。
真有人一年给苹果交 600 写玩具啊( |
12
kkhaike 2022-05-04 18:22:53 +08:00
@shawnliu03 要不一起合作。我也有几年没写了。想重新熟悉下。wx: a2toYWlrZQ==
|
13
sobigfish 2022-05-04 19:32:57 +08:00 1
从 CS193P 开始,然后找资料专注学习 PencilKit 和 Metal ?
给你推荐 react native 的可能连 PencilKit 都没听过 😂 https://github.com/0si43/PiecesOfPaper 这个项目能看懂估计就能完成你的需求了 |
14
Veneris 2022-05-04 20:43:50 +08:00
@fansvista 我也纠结这个问题,playground 这个东西是不是有些过于简单,过完似乎也不知道如何下手,还是我打开姿势不对
|
15
shawnliu03 OP @icyalala 感谢建议。我在看 Swift 的 Documentation ,先从语言层面熟悉一下。花了几分钟熟悉了 Xcode 的 template 大概明白了一个项目基础的组成部分。在这之前看 GitHub 上一些开源软件的时候感觉无从看起。都不知道哪个文件夹是干什么的
|
16
shawnliu03 OP @learningman 我没交 Apple Developer Program 的钱。因为自己是个苹果全家桶用户,所以就从 iOS 开发下手啦。
|
17
shawnliu03 OP @kkhaike 哈哈感谢你的提议。我现在还是纯新手摸索阶段,这个项目也是个爱好所以开发时间可能会拖的很长,不知道你意下如何。
|
18
shawnliu03 OP @sobigfish 感谢建议和指路!看了看 193P 的大纲感觉还不错,应该比 YouTuber 靠谱😂。前面也有好心人指路了 repo 。我去仔细研究一下。
|
19
shawnliu03 OP @Chism 谢谢提议。自己之前用 react native 写过一个 toy project 。但因为需求是一个 iPad 的笔记软件,甚至不会在 iPhone 上用所以暂时先不考虑这类通用框架。
|
20
dearmymy 2022-05-04 23:01:21 +08:00
ios 上架很烦的,而且要每年交钱,还不跨平台,既然笔记软件,还不如开发个 web ,有那钱不如买个服务器,还能多平台备份。我是感觉很多软件 pwa 对于手机足够了。
|
22
learningman 2022-05-04 23:33:20 +08:00
@shawnliu03 #16 你不交这个钱,你写好了也没法用啊,还是说你打算每 7 天重装一次应用?
|
23
okakuyang 2022-05-05 09:33:40 +08:00
“手绘的一些简单的形状可以自动修成标准形状:比如直线,圆圈,方块等 ” 苹果自带这个功能都不用另外实现。
建议用 swift 语言,比较现代,学起来不费劲。而且现在所有库都是靠拢 swift ,oc 的基本上不更新了,而且 oc 和 c++差别挺大的。 |
24
aeli 2022-05-05 10:13:13 +08:00
斯坦福的 swift 教程看完,再花点钱找个中高级 iOS 到咖啡馆手把手带你做一个简单项目,基本上你就能学会了。
|
25
lujiaosama 2022-05-05 11:26:15 +08:00
@aeli 做个简单项目还需要中高级 iOS 面对面手把手,对于有代码基础的来说不是有手就行花点时间的事情么? 问点有深度的问题才需要吧. 面对面请教时间成本经济成本都很高.
|
26
kkhaike 2022-05-05 12:41:11 +08:00
@shawnliu03 完全辅导解惑性质也行
|
27
wu67 2022-05-05 13:49:37 +08:00
可以但没必要. 个人认为, 各平台近来对个人开发越来越不友好了(指上架等各种门槛), 兴趣使然的话, 还不如整前端套壳那种 app, 不考虑兼容的话直接跟着最新的教程走就行, 简单粗暴
|
28
aeli 2022-05-05 15:46:31 +08:00
@lujiaosama 他这个笔记 app ,明显不是他自我认知的简单项目。另外找中高级的当老师,是会带他知道正确的项目结构和少走弯路,主要还是要自学的。
|
29
DogeFlyKite 2022-05-05 18:57:06 +08:00
@learningman 你好,有的(比如我这个二傻子
|
30
learningman 2022-05-05 20:36:22 +08:00
@DogeFlyKite 这还能绷得住不换安卓也是真爱
|
31
jones2000 2022-05-06 00:24:04 +08:00
h5页面做一个, 外面加一个壳。
|
32
luozic 2022-05-06 10:26:37 +08:00
笔记软件非常复杂,即使不考虑同步问题。
|
33
DogeFlyKite 2022-05-09 20:08:42 +08:00
@learningman 我是从安卓换的 iOS ,以前是也是安卓开发来着
|
34
hdcola 2022-05-16 06:11:30 +08:00
@shawnliu03 耐心点,至少到 Learn code 1 和 2 整完,认真点两个半天就完事儿了。
|