我之前开发过 Android 的应用。感觉 Google 给提供的文档,指导等对新用户非常友好。从第一步的下载 sdk,指定各种 runtime,到 hello world,到最基本的概念,新手应该知道的技术,全程下一步,下一步就好了。
后来好奇,想看看比 Android “高端”不少的 iOS 开发是什么样的。但我进了官网之后就傻眼了,不知道从哪开始,各种技术之间是平行罗列的,没有说新手的 hello world 放在最前面,最基本的库的讲解,语言的选择,适配的概念放在后边,然后稍微进阶,讲解各种可能会用到的东西。
如果说得不清楚的话,我找了几个链接,大家对比一下。(也许有可能我还真没找到 iOS 到底怎么在官网学)
Android 就很清晰,从官网也非常容易找到,网址看着都这么友好: https://developer.android.com/training/index.html
iOS,找到了相关的几个: https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Resources.html#//apple_ref/doc/uid/TP40015214-CH15-SW1,这个是从 google 直接点过来的,不是从官网找出来的)
https://developer.apple.com/documentation/ 这个简直是噩梦了,iOS,macOS,各种奇怪的技术栈就那么一列,你让新手怎么找???再者,点进去之后更是噩梦了。随便来一个: https://developer.apple.com/documentation/gamekit,就是简单的类罗列,哪个技术的文档能这么写?哪个能这么写?? Apple 写文档的人就这么懒?你让别人一点主次都分不清, 上下文也没有,怎么学???
大家没有这种感觉吗?
没错,反正我对 Apple 的东西就有一种偏见,总感觉它们给人一种清高,爱咋地咋地,你们用户爱用不用,你们开发者爱学不学的态度。
1
jasonchen168 2017-11-15 09:23:14 +08:00
Xcode 不好用吗?直接上手写就好了
|
2
dangyuluo 2017-11-15 09:25:30 +08:00
高冷
|
3
tscat 2017-11-15 09:31:37 +08:00 via Android
是这样。
不过可能因为我有 java 基础先入为主的观念,我觉得安卓简单好多。ios 的体系架构特别不清晰 |
4
zhaidoudou123 2017-11-15 09:45:42 +08:00 via iPad
Android 这是 入门指南 吧,Apple 好像没这个东西,他可能认为入门的话玩玩 playground 就够了
|
5
kx5d62Jn1J9MjoXP 2017-11-15 09:48:09 +08:00
觉得 Android 文档不友好, 很多概念和 api 都没有解释清楚
|
6
mingweili0x OP @ssynhtn @zhaidoudou123 #5 我说的就是指入门指南啊
|
7
zhaidoudou123 2017-11-15 09:57:45 +08:00 via iPad
@mingweili0x 我的意思是 Apple 可能认为文档就是文档,查 API 用的,入门之类的自己找教程,再基础的入门就用 playground
|
8
shanjinwei 2017-11-15 10:00:26 +08:00 via Android
关键安卓可以看源码 @ssynhtn
|
9
kx5d62Jn1J9MjoXP 2017-11-15 10:03:11 +08:00
@shanjinwei 幸好可以看源码, 不过源码不是你想看就看的, 既看不过来, 也不能全都看懂
|
10
cubesugar 2017-11-15 10:06:01 +08:00
你是说类似这样的 https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/
另外还有各种视频教程,如白胡子老师,开源 demo |
11
mingweili0x OP @cubesugar 但是这只是无数 guide 里边的一篇,如果去它的主页: https://developer.apple.com/library/content/navigation/ 仍然感觉很杂
|
12
mingweili0x OP @zhaidoudou123 哈哈,刚 google 一下 playground 是什么,笑死我了。那是给小学生用的拌方块的啊。
|
13
mcluyu 2017-11-15 10:29:25 +08:00
@mingweili0x 并不是哦,对于学习语法,了解编程、面向对象等基础来说,是一种非常简便的方法,你搜到的只是一部分
|
14
mingweili0x OP @mcluyu 谢谢你的热心哈。但咱们讨论的是 Android 和 Apple 开发的东西,不是 swift,Java 的编程语言呀
|
15
EmbraceZ 2017-11-15 10:37:26 +08:00 via Android
|
16
mingweili0x OP |
17
webfrogs 2017-11-15 10:53:28 +08:00 1
开发环境搭建,macOS 反倒是最简单的,下载 Xcode 安装就全部搞定了。
如果是入门,去 https://www.raywenderlich.com 里找教程,或者斯坦福老爷子的公开课,都是不错的选择。官网的文档确实不适合用来入门。 官方文档还是适合有一定经验想要具体了解某个 framework 的开发者。 还有楼主你说的那个 playground 是指 Swift Playground 这个 iPad app, @zhaidoudou123 指的是使用 Xcode 创建的 playground 环境。 |
18
mingweili0x OP @ssynhtn 我也没深入过 android,但我从只有 Java 知识,从零开始,顺着官网上给的教程,最后弄出来一个完整的应用, 当研究生毕业设计
|
19
mingweili0x OP @webfrogs 哦,了解,没实际做过 iOS 应用,不好意思
|
20
chairuosen 2017-11-15 10:57:12 +08:00
有两种文档,一种是写的时候让你查的,一种是一步一步带你走的。
|
21
zieglar 2017-11-15 11:00:04 +08:00
可能楼主没有看过国内大部分公司的文档,比如某牛、某信、某云
|
22
QAPTEAWH 2017-11-15 11:07:19 +08:00 1
我记得王垠吐槽过 Apple 的文档,顺便赞过微软的。
另外有些东西文档里没有,得去 WWDC 视频里找..... |
23
icyalala 2017-11-15 12:31:47 +08:00
来个对比...
Google: Apple: |
24
CastleBUPT 2017-11-15 13:22:42 +08:00
是的,没错,而且苹果的文档特别不清晰,用词文绉绉的,不像给开发者看的
|
25
camillo 2017-11-15 13:29:47 +08:00
最后一句我来反一下 开发者不清楚 对用户以及配件商的文档 /支持倒是非常详尽的 而且更新很及时
|
26
canxden 2017-11-15 14:05:29 +08:00
开发 ios 不都是跳到.h 文件里面看每个方法的注释的吗.......这个本来就是接口的文档, 又不是怎么实现这个功能的文档, 把这个接口的功能告诉给开发者就好了啊. 而且很多.h 文件里面的注释都有很多细节上的提示.
真的需要说从入门那种构建项目, 不应该去查开发者的文档, 而是去查如何成为开发者的文档吧... |
27
kx5d62Jn1J9MjoXP 2017-11-15 14:07:42 +08:00
@icyalala 这两个 drawRect 貌似意思是不一样的, 安卓的就是画一个长方形, 苹果的似乎是在给定的 rect 区域内画整个 view 的内容. 苹果的画长方形的方法似乎是 CGContextStrokeRect
|
29
nine99 2017-11-15 17:16:14 +08:00
我写的
|
30
hstdt 2017-11-15 21:12:55 +08:00 via iPhone
苹果入门文档应该这么找吧。先在官网索关键字,比如 tableview,然后会给你一些相关文档以及 demo 工程。然后你自己去看代码,一点点跟着敲去学习 tableview。如果只是想要跑起来程序,那么用模板新建一个就行了。
|
31
mingweili0x OP @icyalala 我觉得这正好体现了 Apple 的人没法把 API 的介绍结构化,逻辑化,只能是一片长篇大论,真正的程序员是干不出这种事来的
|
32
virgil1988 2017-11-16 10:53:46 +08:00
文档其实还不错,你用用 Xcode 半个月就疯了,我一直开发 iOS,被强制扔到 android,用了 AS 半个月后每次开 Xcode 内心都是拒绝的
|
33
icyalala 2017-11-16 12:34:06 +08:00 via iPhone
@mingweili0x 结构化的文档、综述这种也是有的,各种 Guide 里面就是。
安卓文档不清或者需要了解细节的话,最起码有源码能看。iOS 就不行了啊,文档和 API 描述再不完善一些,那真没办法搞了。 |