作者tkdmaf (皮皮快跑)
看板MacDev
标题Re: [问题] 非本科生想自学app开发,初学入门建议?
时间Sun Jan 15 10:41:23 2017
※ 引述《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的专注力。
当然以上所述……全都是在讲「自学」的情形。
如果你是有去外面上课什麽的也许状况就不同,能更快进入。
因为我想老师多少都有责任告诉你该怎麽做,会遇到什麽状况,怎麽解决问题。
但就算上完课,回头练习最好还是抱着自学的态去做基本功。
努力的磨总是会磨出好东西的。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 175.180.243.62
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1484448090.A.FE2.html
1F:推 cryinglove: 清楚明确,推 01/15 10:59
嗯…中间有漏了点东西,还有些错字修正了一下。
※ 编辑: tkdmaf (175.180.243.62), 01/15/2017 11:47:25
2F:推 ID3238: 推 01/15 15:20
3F:推 ppppman: 你讲那麽清楚 会吓跑新手啦XD 01/15 15:24
4F:推 rice0617: 推 真的先知道自己要做什麽 01/15 16:50
5F:推 ho83leo: 推 01/15 18:25
6F:推 chopinmozart: 请问一下如果想单纯做iOS developer 应该往网路前 01/16 06:58
7F:→ chopinmozart: 端 还是後端学? 01/16 06:58
8F:→ tkdmaf: 前端後端一般比较偏向web的说法 01/16 11:18
9F:→ tkdmaf: 你这样问应该是要讲你是要专注处理程式流程 01/16 11:18
10F:→ tkdmaf: 还是朝视觉设计发展…… 01/16 11:18
11F:推 tentenlee: 话说现在还推荐php吗? 好多ror跟python跟node.js了 01/16 13:33
12F:→ tkdmaf: 现在推php7,效能大进化 01/16 16:00
13F:推 ccwscc: 谢谢前辈指导~这篇回文让我有了好多新观念 衷心感谢QQ 01/17 12:17
14F:推 yoshilin: 先找个目标app来写,一边写一边查找 01/17 12:46
15F:推 jeffiden: 受教了 01/17 13:17
16F:推 chilam22: 建议可以目标先做简单的单机版 App 上架,比较有成就感 01/18 01:11
17F:→ chilam22: 比方计算机 App,唐诗三百首 App 01/18 01:12
18F:推 iverwei: 推,说得很清楚(Coredara没改到) 01/18 14:22
说不定以後会出coredara喔!
开玩笑的……改回来了。谢谢提醒。
※ 编辑: tkdmaf (175.180.243.62), 01/18/2017 15:09:35
19F:推 babypanda: 专业推~ 01/18 21:24
20F:推 a0607152: 怎麽可能这麽快结束~~~ 01/19 02:09
21F:推 tw88: 感谢您的分享,推 01/19 14:53
22F:推 AnswerD: 谢谢精辟的分析 01/20 00:17
23F:推 jj811208: 受教了 学到很多 01/23 00:36