※ 引述《ccwscc (Cory)》之铭言:
: 抱歉到这里打扰大家了,
: 有些问题想请教一下,
: 最近因为在搜寻想使用的APP过程中,
: 常常会觉得APP的某些部分不合自己胃口,
: 渐渐就萌生想自己来学习写APP的念头,
: 但因为我自己非本科生,完完全全就是零基础,
: 在最近几天一头栽进搜寻资料的过程中,
: 碰到最大的困难就是我连基本的一些专有名词都看不懂啊....
: 目前我的目标是可以自己写出一个IOS的APP,
: 看到很多人问到的第一个问题就是到底该选择哪种语言?
: 也看了不少大家对Swift跟Objective-C看法与建议
: 但对一个毫无基础可言的初学者来说,实在是很难下决定从哪里开始才好?
: 所以才想上来请教一下各位前辈的建议?
: 或是各位前辈有没有更建议我从哪个部分开始学习会比较好?
: 也想暸解一下是否有推荐相关的书籍以及资料?
: 新手问的问题可能很蠢,但还是劳烦各位了,
: 真的很谢谢大家解惑,万分感激。
问题颇大…………
其实要说颇大…也可以说可大可小。
基本关键在于:你到底是要做什么东西?
好吧!就语言来说我是建议学swift。
没什么道理就他容易懂也跟大部份的程式语言的编写习惯类似。
但是ios开发你要我怎么说?
简单的可以几乎不用写code拉拉元件就好。
(不过就不用想能做出什么太令人惊艳的东西。)
复杂的你得先学物件导向,了解所有的元件的属性控制,甚至于自己用程式码生成
元件。
要了解storyboard、xib。
当你能把这些东西控制的很好时事情就结束了吗?
不!你开始可能就会要把一些资料存在手机。
所以你开始额外的要学习像是coredata或是realm
(对!coredata是apple官方的,realm是第三方的)
然后!也许这时你就需要去跟外部要些什么东西。
你要开始学习资料怎么传输。了解资料格式。
甚至你需要一个自己需求的资源来源。
于是你大概要开始学会架服务器,学习写网页后端语言
(通常建议是php)
* 补充 *
对!我原本的编辑漏了这一段。
当你开始学习后端语言,你理所当然的又得使用后端数据库来做存取。
所以你可能就得学mysql、postgresql甚至于是nosql
然后你还得了解服务器的网络运作。
如果你是自架服务器还得了解怎么让外部连线进来。
然后你可能还要申请个域名好让你的连线不会都只是一堆ip
(然后做到这一步,你可能就想就让网站和app同步运作……所以又要学习
网页前端技术……这当然是另外一回事了。)
* 结束 *
当你能很成功的串起后端资料时,你就又发现怎么app上架就被打枪!
对!因为你没有用https,然后你又得再花时学会怎么弄https的证书。
怎么让你的网站资源是安全的ssl加密传输连线。
其实不管任何时候,我都不希望把一件很需要基础的事情讲的很简单。
(虽然他们也并非难入登天的事)
只是新手入门,要注意、要了解、要学习的资源非常大量。
而我会建议基本的先从语言本身着手。
不要看着那console画面只能呈现你练习基础语法的结果。
(或是playground呈现的基础语法结果)
就感到索然无味兴致缺缺。
初新手不从这么基础的地方下手,一开始就想要做出很好的产品。
那拌随而来的就只会是一次又一次的挫折。
因为原因就在那,但你就是找不到。
我会告诉你,swift其实是一个很棒的语言。
尤其有很多在其他语言不见得拥有的做法。
但我也会告诉你……swift有更多更棒的东西书上也不见得会教。
资源也不见得一定找得到。
广泛而大量的去看各种人家写的code或是了解资料结构、资料传递的方法相当重要。
但是……这是我过去在不管是swift或是其他语言看到初学者的共同现象。
那就是“贴code”而不是“自己打字”。
我完全不建议初学者或是没有对语言有一定基础的人做“贴code”这件事。
拿来贴上去能动就不管了。
也不知道人家写的是什么东西。
(这又不是封装好的物件、函式、api、framework……)
初学就是耐住性子……一个一个字打上去。
磨耐性,也磨你对code的专注力。
当然以上所述……全都是在讲“自学”的情形。
如果你是有去外面上课什么的也许状况就不同,能更快进入。
因为我想老师多少都有责任告诉你该怎么做,会遇到什么状况,怎么解决问题。
但就算上完课,回头练习最好还是抱着自学的态去做基本功。
努力的磨总是会磨出好东西的。