V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
shawnliu03
V2EX  ›  iDev

业余玩家如果进行 iOS 开发

  •  
  •   shawnliu03 · 2022-05-04 08:03:48 +08:00 via iPhone · 8894 次点击
    这是一个创建于 939 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    34 条回复    2022-05-16 06:11:30 +08:00
    devcat9
        1
    devcat9  
       2022-05-04 08:13:43 +08:00
    我看了下,这类软件门槛应该不低,不仅仅是 CRUD 。这种 notes 可以手写,还是蛮复杂的。

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

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

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

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

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

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

    https://github.com/0si43/PiecesOfPaper 这个项目能看懂估计就能完成你的需求了
    Veneris
        14
    Veneris  
       2022-05-04 20:43:50 +08:00
    @fansvista 我也纠结这个问题,playground 这个东西是不是有些过于简单,过完似乎也不知道如何下手,还是我打开姿势不对
    shawnliu03
        15
    shawnliu03  
    OP
       2022-05-04 20:58:59 +08:00 via iPhone
    @icyalala 感谢建议。我在看 Swift 的 Documentation ,先从语言层面熟悉一下。花了几分钟熟悉了 Xcode 的 template 大概明白了一个项目基础的组成部分。在这之前看 GitHub 上一些开源软件的时候感觉无从看起。都不知道哪个文件夹是干什么的
    shawnliu03
        16
    shawnliu03  
    OP
       2022-05-04 21:00:09 +08:00 via iPhone
    @learningman 我没交 Apple Developer Program 的钱。因为自己是个苹果全家桶用户,所以就从 iOS 开发下手啦。
    shawnliu03
        17
    shawnliu03  
    OP
       2022-05-04 21:05:12 +08:00 via iPhone
    @kkhaike 哈哈感谢你的提议。我现在还是纯新手摸索阶段,这个项目也是个爱好所以开发时间可能会拖的很长,不知道你意下如何。
    shawnliu03
        18
    shawnliu03  
    OP
       2022-05-04 21:08:41 +08:00 via iPhone
    @sobigfish 感谢建议和指路!看了看 193P 的大纲感觉还不错,应该比 YouTuber 靠谱😂。前面也有好心人指路了 repo 。我去仔细研究一下。
    shawnliu03
        19
    shawnliu03  
    OP
       2022-05-04 21:10:58 +08:00 via iPhone
    @Chism 谢谢提议。自己之前用 react native 写过一个 toy project 。但因为需求是一个 iPad 的笔记软件,甚至不会在 iPhone 上用所以暂时先不考虑这类通用框架。
    dearmymy
        20
    dearmymy  
       2022-05-04 23:01:21 +08:00
    ios 上架很烦的,而且要每年交钱,还不跨平台,既然笔记软件,还不如开发个 web ,有那钱不如买个服务器,还能多平台备份。我是感觉很多软件 pwa 对于手机足够了。
    ttgo
        21
    ttgo  
       2022-05-04 23:18:29 +08:00 via iPhone
    @fansvista 对有其他语言基础的人来说,playground 太肉了
    learningman
        22
    learningman  
       2022-05-04 23:33:20 +08:00
    @shawnliu03 #16 你不交这个钱,你写好了也没法用啊,还是说你打算每 7 天重装一次应用?
    okakuyang
        23
    okakuyang  
       2022-05-05 09:33:40 +08:00
    “手绘的一些简单的形状可以自动修成标准形状:比如直线,圆圈,方块等 ” 苹果自带这个功能都不用另外实现。
    建议用 swift 语言,比较现代,学起来不费劲。而且现在所有库都是靠拢 swift ,oc 的基本上不更新了,而且 oc 和 c++差别挺大的。
    aeli
        24
    aeli  
       2022-05-05 10:13:13 +08:00
    斯坦福的 swift 教程看完,再花点钱找个中高级 iOS 到咖啡馆手把手带你做一个简单项目,基本上你就能学会了。
    lujiaosama
        25
    lujiaosama  
       2022-05-05 11:26:15 +08:00
    @aeli 做个简单项目还需要中高级 iOS 面对面手把手,对于有代码基础的来说不是有手就行花点时间的事情么? 问点有深度的问题才需要吧. 面对面请教时间成本经济成本都很高.
    kkhaike
        26
    kkhaike  
       2022-05-05 12:41:11 +08:00
    @shawnliu03 完全辅导解惑性质也行
    wu67
        27
    wu67  
       2022-05-05 13:49:37 +08:00
    可以但没必要. 个人认为, 各平台近来对个人开发越来越不友好了(指上架等各种门槛), 兴趣使然的话, 还不如整前端套壳那种 app, 不考虑兼容的话直接跟着最新的教程走就行, 简单粗暴
    aeli
        28
    aeli  
       2022-05-05 15:46:31 +08:00
    @lujiaosama 他这个笔记 app ,明显不是他自我认知的简单项目。另外找中高级的当老师,是会带他知道正确的项目结构和少走弯路,主要还是要自学的。
    DogeFlyKite
        29
    DogeFlyKite  
       2022-05-05 18:57:06 +08:00
    @learningman 你好,有的(比如我这个二傻子
    learningman
        30
    learningman  
       2022-05-05 20:36:22 +08:00
    @DogeFlyKite 这还能绷得住不换安卓也是真爱
    jones2000
        31
    jones2000  
       2022-05-06 00:24:04 +08:00
    h5页面做一个, 外面加一个壳。
    luozic
        32
    luozic  
       2022-05-06 10:26:37 +08:00
    笔记软件非常复杂,即使不考虑同步问题。
    DogeFlyKite
        33
    DogeFlyKite  
       2022-05-09 20:08:42 +08:00
    @learningman 我是从安卓换的 iOS ,以前是也是安卓开发来着
    hdcola
        34
    hdcola  
       2022-05-16 06:11:30 +08:00
    @shawnliu03 耐心点,至少到 Learn code 1 和 2 整完,认真点两个半天就完事儿了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5420 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:57 · PVG 15:57 · LAX 23:57 · JFK 02:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.