谈谈 Swift 从入门到上架的感受(另 App 限免,一个记录时间的 App) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
AlwaysBee
24.8D
0.91D
V2EX    分享创造

谈谈 Swift 从入门到上架的感受(另 App 限免,一个记录时间的 App)

  •  
  •   AlwaysBee 2019-08-12 08:29:13 +08:00 5469 次点击
    这是一个创建于 2320 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本文是一篇总结性文章,主要是记录学习过程中的一些感想,总结的同时也希望对大家有所帮助,原文发布在自己的 博客-Freelancer-x

    不想看我废话的直接在 App Store 搜索 觅时 即可,是一个时间管理类的的 App,限免仅限今日( 2019-08-12 )

    掌握一门编程语言需要多久?

    当然,这里说的「掌握」是指了解一门编程语言的基本语法,能够运用该语言实现基本的功能。学习 Swift 之前,我首先搜集了一些教程资料,在资料筛选上我花了挺多时间,尤其是视频资料,得花很长时间去试看才能知道是否合适。

    关于资料筛选这里有几点分享

    • 权威性,如果官方有提供教程,尽量要过一遍,毕竟官方的资料通常都还算靠谱
    • 视频资料,先挑一些章节过一下再决定,免得浪费时间
    • 付费课程,尤其是国内的,我不是很建议购买,虽然有些课程质量还不错,但大多数都是网上能找到的资料,我还是建议自己从网上搜集,知识的搜集其实也是一个学习的过程

    语法部分,我看的是中文翻译版,而视频教程选择的是斯坦福大学的 iOS 开发公开课,从入门到上架,总共花了大概 3 个月时间,当然期间我还是有工作在做,毕竟还要生活

    其实英文我也看得下去,之所选择中文版,是因为看中文教程的速度比较快,毕竟是母语,当然这个也因人而异。

    至于为什么选择斯坦福大学的公开课版本,一方面是因为斯坦福大学这个名字已经为这个课程做了背书,另一方面是因为这个课程已经迭代了好多年了,基本跟得上技术的发展,还有一点就是,讲课的老头很有趣。

    学习的过程花了我大概半个月的时间,其中 Swift 语法部分大概也就花了不到一天的时间迅速过了一遍,其实对于有编程经验的人来说,学习一门新的编程语言是很快的,尤其是生态好的语言,各种资料都十分齐全。

    对语法有基本的了解之后,就要开始动手实践了,实践部分我是跟着斯坦福大学的公开课进行的,一边看一遍动手操作,毕竟模仿是最快的学习方式。视频我并没有完全看完,大概只看了 80% 吧,我觉得我应该可以开始着手开发自己的 App 了。

    一开始,由于视频教程构建页面的方式用的是 Interface Builder (傻瓜直观的拖拽式构建页面方式),后来我实操的时候发现自己并不适应这样的方式,于是决定使用纯代码的方式构建自己的 App UI。

    逐渐我发现,移动端的界面开发虽然有很多不同,但你总能找到他们之间的共同点。比如 UIView 其实就相当于 HTML 中的 div 标签,本质上是同一个东西。

    很多人学习新东西的时候,巴不得把所有知识点都学习了,但其实这个是很难做到的,我的建议是先把基础掌握就行了,剩下的需要时再去了解也不迟,通常不存在「书到用时方恨少」这样的情况。

    为什么重新开始移动开发的道路?

    认识的早的朋友应该都知道,我刚出来做自由职业的时候,就是选择 App 开发作为自己的起点的(当时用的是 Web 开发那一套技术去做),后来因为开发的 App 并没有给自己带来多少收入,毕竟还是要生活,所以就暂停了 App 的开发,转去做外包(业余也在做自己的其他项目)维持自己的生活。

    我的目标很明确,就是希望能够通过自己的付出去换取自己想要的东西,成就感其实是一种力量,某种程度上,它是推动自己不断前进的动力。

    那么如今,在能够保障基本的生活情况下,我觉得可以再去挑战一下当初没有实现的目标,舒适区呆久也会腻的。

    为什么选择做一个时间记录应用?

    确切来说,是因为自己需要,当然市面上也有很多此类型的应用,但既然是学习的话,从自己的需求出发肯定是最快的,因为自己的需求都很明确(貌似好多刚入门的开发者都会选择这一类 App 入手)。

    作为一名自由职业者,记录自己的时间其实是很重要的,无论是做外包项目还是自己的项目,把花掉的时间记录下来一定程度上是可以量化自己的工作,后面也可以根据这些数据做一些基本的分析,比如统计时间在不同时间段的分配情况,这样是否能代表自己更适合在某个时间段做某些事情,记录这些数据的一个重要目的就是量化自己的工作。

    If you don ’ t measure it, how do you improve it?

    网上看到的一句话,我觉得挺好

    后续工作

    开发只是起步,后续的维护、运营才是最大的考验,BTW,$99 年费还是挺贵的

    最后

    对这个应用感兴趣的朋友,在 App Store 搜索 觅时 即可,限免 仅限今日,感谢支持

    第 1 条附言    2019-08-12 11:36:39 +08:00
    谢谢各位的支持,不嫌麻烦的话,也恳请大家可以在 AppStore 赏个星星,留下你的宝贵建议,再次感谢
    第 2 条附言    2019-08-13 10:57:57 +08:00
    这次限免已经到期,等下一次更新再给大家福利吧
    38 条回复    2019-08-14 10:37:39 +08:00
    Jaosn
        1
    Jaosn  
       2019-08-12 09:12:47 +08:00
    支持一下
    AlwaysBee
        2
    AlwaysBee  
    OP
       2019-08-12 09:14:09 +08:00
    @Jaosn 谢谢,如果有什么建议欢迎在 App Store 评价
    gzf6
        3
    gzf6  
       2019-08-12 09:17:29 +08:00 via iPhone
    咨询下,开发者申请时用的信用卡哪家比较好?
    AlwaysBee
        4
    AlwaysBee  
    OP
       2019-08-12 09:19:09 +08:00
    @gzf6 我自己现在用的是平安的车主卡,以前没信用卡的时候是让朋友帮我支付的,这个只要能付就行了吧,没有什么好不好的
    rbuli
        5
    rbuli  
       2019-08-12 09:45:50 +08:00
    下载支持下
    gogo88
        6
    gogo88  
       2019-08-12 10:01:08 +08:00 via iPhone
    下载支持!
    ansonsiva
        7
    ansonsiva  
       2019-08-12 10:07:55 +08:00
    下载了试用了一下,在详情页面,耗时那里,同一时间段可以重复添加记录,我这里 00:00-00:59 已经花费了 3 小时了,一个小 bug
    lidodo
        8
    lidodo  
       2019-08-12 10:26:11 +08:00
    多谢,觅时已喜加一
    AlwaysBee
        9
    AlwaysBee  
    OP
       2019-08-12 10:26:19 +08:00
    @gogo88
    @rbuli
    谢谢两位,有什么建议的话,也可以在 App Store 评论一下,嘿嘿,刚上线需要你们支持
    AlwaysBee
        10
    AlwaysBee  
    OP
       2019-08-12 10:28:39 +08:00
    @ansonsiva 是的,我有想过这个问题的,但考虑到用户记录是 “诚实” 的,所以暂时没有加上这个重复添加的限制,后面我会在选择时间上已经选择的部分通过颜色深浅或者其他标记进行区分


    @lidodo 谢谢你
    AlwaysBee
        11
    AlwaysBee  
    OP
       2019-08-12 10:36:34 +08:00
    @ansonsiva 另外,在详情页面的时段分布,针对的是项目总耗时(而非某一天的时间分布),目的是为了让用户知道这个项目在哪个时间段分配的时间更多,所以会出现大于 1 个小时的情况,你提的 bug 应该是在添加记录的时候,仍然可以选择已经选过的时间块,确实没做好这里
    ansonsiva
        12
    ansonsiva  
       2019-08-12 11:03:09 +08:00
    @AlwaysBee #11 理解了
    doudouwu
        13
    doudouwu  
       2019-08-12 11:20:04 +08:00
    下载试用了一下,既然是学习为目的的开发的话,可以参考一下另一个应用‘时间块’,相似功能下,从 UI 和操作便捷性都要优于‘觅时’.
    同类应用肯定少不了拿来对比的,加油!
    AlwaysBee
        14
    AlwaysBee  
    OP
       2019-08-12 11:29:51 +08:00
    @doudouwu 嗯,已经下载体验过了,感觉在记录的时候,弹出的提示有点繁琐,其他都还不错

    谢谢你建议,后续会完善一下体验和 UI
    darknighten
        15
    darknighten  
       2019-08-12 11:33:37 +08:00
    下载支持一波
    yanzidao
        16
    yanzidao  
       2019-08-12 11:42:21 +08:00
    要是能再详细说说开发各阶段的学习过程及资料就更好了,适合新手入门到上架。发现现在 iOS 开发确实比较冷
    AlwaysBee
        17
    AlwaysBee  
    OP
       2019-08-12 12:10:37 +08:00
    @darknighten 感谢
    @yanzidao 嗯,有机会的话我下次补充一下。其实 iOS 开发我感觉还好吧,只是现在比较饱和了,不是随随便便搞个 App 就能成的年代了
    agagega
        18
    agagega  
       2019-08-12 12:27:43 +08:00 via iPhone
    支持,我也打算拿这个搞个副业
    impl
        19
    impl  
       2019-08-12 12:39:10 +08:00 via Android
    楼主是还在上班?那这样也算自由职业?
    AlwaysBee
        20
    AlwaysBee  
    OP
       2019-08-12 12:43:51 +08:00 via iPhone   1
    @impl 没上班,在家,平时主要接项目在维持,所以这个 App 算是“业余时间”开发的
    gscsnm
        21
    gscsnm  
       2019-08-12 13:21:44 +08:00   1
    已下载,加星去
    AlwaysBee
        22
    AlwaysBee  
    OP
       2019-08-12 13:33:30 +08:00 via iPhone
    @gscsnm 谢谢你
    AlwaysBee
        23
    AlwaysBee  
    OP
       2019-08-12 13:34:19 +08:00 via iPhone
    @agagega 可以尝试一下
    hugee
        24
    hugee  
       2019-08-12 14:29:44 +08:00 via Android
    不太好用,卸载了,但还是支持下。我三年都学不会 app 开发
    yanzidao
        25
    yanzidao  
       2019-08-12 14:39:43 +08:00
    @AlwaysBee 方便的话加个微信吧,一个是有些技术可能要向你请教,另外一个可能是有些项目可能聊下外包。我微信 162038526
    SingeeKing
        26
    SingeeKing  
    PRO
       2019-08-12 15:10:11 +08:00 via iPhone
    文章讲开发学习路径写得不错,不过 app 感觉有点简陋…
    AlwaysBee
        27
    AlwaysBee  
    OP
       2019-08-12 16:07:13 +08:00
    @hugee
    @SingeeKing
    谢谢,刚上线,只有基本的功能,后续会完善
    cjw1115
        28
    cjw1115  
       2019-08-12 17:25:05 +08:00
    额 iPhone x 上基本处于不可用状态。
    AlwaysBee
        29
    AlwaysBee  
    OP
       2019-08-12 17:29:50 +08:00
    @cjw1115 不会吧,我开发的时候就是用 iPhoneX 进行测试的
    AlwaysBee
        30
    AlwaysBee  
    OP
       2019-08-12 17:30:34 +08:00
    @cjw1115 你那里是出现了什么问题么?希望可以提供一下,谢谢你
    gogo88
        31
    gogo88  
       2019-08-13 00:27:29 +08:00 via iPhone   1
    @AlwaysBee 已五星好评送上了
    AlwaysBee
        32
    AlwaysBee  
    OP
       2019-08-13 09:13:21 +08:00
    @gogo88 谢谢啦
    Elethomdog
        33
    Elethomdog  
       2019-08-13 10:52:40 +08:00
    收费了?
    AlwaysBee
        34
    AlwaysBee  
    OP
       2019-08-13 10:57:13 +08:00
    @Elethomdog 嗯,对呀对呀,设定了期限,昨天限免
    我在帖子开头已经写了限免的日期了
    Elethomdog
        35
    Elethomdog  
       2019-08-13 11:40:20 +08:00
    @AlwaysBee 帖子结尾。。。没注意
    AlwaysBee
        36
    AlwaysBee  
    OP
       2019-08-13 11:41:19 +08:00
    @Elethomdog 开头也有,嘿嘿
    lockeroots
        37
    lockeroots  
       2019-08-14 04:02:04 +08:00 via iPhone
    @AlwaysBee 谢谢分享,我现在也自己开发 iOS,也是在网上看得 sb 构建项目,后来自己还是选择纯代码写,另外我也努力成为独立开发者 ing 哈哈哈
    AlwaysBee
        38
    AlwaysBee  
    OP
       2019-08-14 10:37:39 +08:00 via iPhone
    @lockeroots 嗯,加油,祝早日上架
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3321 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 04:44 PVG 12:44 LAX 20:44 JFK 23:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86