在你决定从事iOS开发前需要清楚的几个问题

作者:David McGraw  翻译:丁丁(jackiehoo)

原文:http://www.xmcgraw.com/what-you-need-to-know-to-start-learning-how-to-code/

译者注:这篇文章是我在一个月前看到的,文章的内容基本表达我转行从事iOS开发时候的思考。觉得这篇文章会对那些想做iOS开发和刚开始做的朋友有一些帮助,因此翻译出来并分享给大家,对我而言则温故知新。不忘初心,方得始终,新的一年再次出发。

  每个人的都有独特的经历,因此会有特别的事情会让ta感到快乐,并享受做自己喜欢的事情。写程序也不例外,我在很年轻的时候就明白这点,它成为我开始创业的无形资产。写程序的渴望来自我想完整独立做一件事情的渴望,做移动开发,可以让我不依赖任何人就能学会完成一个完整的App需要的所有能力。

为什么我当初会学习现在使用的Objective-C和Swift编程语言?因为我喜欢和用户直接交互,而移动开发满足了我这点。这股激情让我在学习iOS开发时能保持110%的热情。

  我刚才分享了我想从事移动开发的动力,并且认为这是做iOS开发需要思考的问题。你可以给下面两个问题提供自己的答案:

    1.你为什么想要编程?

    2.你能在大脑里勾画出你写代码的景像吗,描绘一下这个场景?

  如果您已经决定从事这条道路,下面我提供一些建议,希望能够帮助你打开通往移动开发的这扇门。

明确你的激情

  你已经有了一定的热情,像我当初一样,你还需要更加清楚自己的热爱的具体是什么。好奇心很重要,它会指引你到一个具体的方向,找到一个移动开发中最感兴趣的方向,然后交给命运来安排吧。

  你在大脑勾画出的景像是什么?喜欢科学和数学的朋友可能希望为NASA写代码;或者有些朋友擅长社交或者运动竞技,那他可以开发健康类的产品来衡量活动量;你也可能喜欢视频游戏。清楚自己在生活中喜欢什么,并让它成为你的灯塔指引你开发项目。当然这也有可能会改变,我开始是写游戏,但是我现在写了更多的社交,教育和效率类的产品。

  你可能开始使用swift语言然后发现它不适合你。例如:你可能希望通过SpriteKit和Swift为iPad写游戏,后来你尝试Unity3D写游戏,并且喜欢上它。如果你还没有确定自己的喜欢的平台和语言,那就保持热诚和开放态度去探索吧。

  当然如果你没有这从事移动开发的热情,那您需要停下来,重新评估下自己的道路。坚持一段时间如果在显示器面前还是表现的恐惧,那这可能不是你想要的生活,换一个吧,生命短暂,应该享受生命。

开始行动

  网上有很多视频教程可以学习,不过我衷心地建议读几本书,因为书籍更加专注,方便浏览,并且没有很多干扰。只有你,书籍还有代码编辑器。

  补充一些关于学习平台的书或者视频教程挺好。但是一页一页的读几本书会帮助你极大的提高,一旦你确定自己想要学习的语言,你可以买两本书:

    1.买一本仅仅介绍该编程语言的书。

    2.买一本教你在特定编程环境中使用该语言的教程书籍。

  记住:在我或者你朋友有效的学习方式不一定适合你。我们的学习方式不同,你需要一些独立意识以便让自己保持在正确的学习轨道上。如果你还没有这种独立判断意识,那读书是一个安全可靠的选择。

  假设你决定用swift为iOS设备写程序,那你就买一本swift语言的书籍而不是Objective-C语言的书籍,认真读完,然后再买一本教你如何使用swift语言开发一个App的书籍。

  语言+开发平台的书籍可以帮助你保持专注而尽可能少地分心。你可能感觉还是很困难,但通常会好过你通过网上教程来学习。

放下书籍动手写自己的项目

  我敢保证你遇到的最大的挑战不会在你学习一本书籍并完成里面的示例的时候,而是当你读完书籍之后开始开发自己的项目的时候。你学习一本书籍并完成里面的示例只是为了让你写程序的挑战相对小一点,因为你掌握了一定的基础,但仅仅是基础。

  1.找到简单的点子(idea),要非常小的点子,第一个app只要完成2-3件事情就可以,这样你就不必花去大量的时间来构思app的实现和架构,而只需要动手开始开发就可以。

  2.不要完全一个人扛着——找一些方式获取帮助。如果尝试了很多方法失败后,你可以向 Stack Overflow等技术问答网站求救。

  3.必要时候可以调整你的点子。如果你开发项目时感觉压力太大,开发太难,你可以换一个更容易的开始。比如开发游戏就相对要难很多,换一个更容易的游戏开发。(比如2D游戏代替3D游戏)

  然后你就需要不断重复前面个学习内容,查找书籍,阅读网上教程,看看视频教程等。解决实际问题需要不少的时间和大量的练习。

加入一个团队

  培养良好的编程习惯和学习新的方法的最好方式之一就是把自己放到一个团队环境里。团队环境能够把你带到你以前不清楚的方向。你会遇到很多编程老手,这些人对你学习编程非常有价值。不要认为你需要一些很牛的作品才能加入这些团队,很多团队也希望找到有热情的初学者。跟着他们做一些项目吧。

  如果你很难加入一个团队,那可以找一个朋友或者老师来向他学习。

击退自我怀疑

  你需要的只是热情。如果你渴望开发苹果app,就不要让大脑有什么杂念。我保证随着你学习的深入肯定会有自我怀疑出现在大脑里的时候,如果你喜欢写代码、喜欢呆在电脑前,就不要让这些杂念击败你。

  诚实地对待自己。你可能喜欢底层的开发技术,那你在成长路上会经历很多有趣地挑战。如果你喜欢写代码并设计程序,那太棒了,我认识很多开发者擅长前端开发。如果你喜欢写代码以及商务,你未来会成为优秀的领导者,成为一个多面手不是什么坏事。码农的发展方向上有很多选择的,我打赌肯定会有适合你这款得方向。

  如果你确实不喜欢写代码。给自己6个月的时间尝试后还是没有兴趣。不要强迫自己,生命短暂。你应该选择更喜欢的道路。不要被周围和自己束缚——这是你的生活。

写代码、写代码、继续开发

  当我开始编程的时候,我花了2到3周,每天12小时,完全集中在学习如何使用Mac,如何写写Obective-C代码以及如何使用iOS系统的SDK。

  选一些自己喜欢的书籍然后致力于学习。安安静静坐下来读书,当你完成书上的内容后之后就可以写代码,一定要带着大脑去写。如果你喜欢写代码的话,这些对你来说就很容易,如果你给自己设立了目标,比如要在6个月内发布一款app,你也能很容易坚持下来。

  你最终希望开始探索自己不熟悉的领域。你不需要给自己太大压力,不要一次给自己喂太多。在自己熟悉的领域加入一点点新技术就好,增加一点新鲜感就够了。总之不要太着急,保持专注。

起航

  每个人都是不同的,没有人能给你完美的答案。这篇文章描述我所经历以及所观察后总结的,如果让我从新开始学我会这么做。我当时应该更早地加入一个团队,更早些寻找一位导师。即使现在我也希望能有个导师教我如何处理商务上的事情。

  想好了就闷头扎进去学习吧,你肯定可以做到的,只要你心里有股做好移动开发的欲火在燃烧。

时间: 2024-10-10 21:36:21

在你决定从事iOS开发前需要清楚的几个问题的相关文章

那些在学习iOS开发前就应该知道的事(part 2)

英文原文:Things I wish I had known before starting iOS development—Part 2 http://www.cocoachina.com/ios/20150611/12111.html 如果你还没读这篇文章的第一部分,请先读完了再来看第二部分. 那些在学习iOS开发前就应该知道的事(part 1):设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了…… 在第一部分中,我讨论了学习iOS开发的一些基本问

那些在学习iOS开发前就应该知道的事(part 1)

英文原文:Things I wish I had known before starting iOS development—Part 1 http://www.cocoachina.com/ios/20150608/12052.html 设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了.这个界面模仿了Evernote iOS app的风格. 我以迅雷不及掩耳盗铃之势开始在Xcode上编程,用了page view controller和scroll v

极客学院iOS开发工程师初级+中级+高级视频教程

下载地址:百度网盘下载 课程目录: 初级IOS开发工程师 19课程 7小时50分职业介绍1.iOS 开发的前世今生C语言基础 1.二级 C 流程控制 2.二级 C 函数与指针 3.二级 C 数组4.二级 C 字符串5.二级 C 作用域.预处理与存储 6.二级 C 结构体与共用体 7.二级 C 文件Swift语言基础1.Swift 语言基础2.Swift 中的字符串和集合 3.Swift 中的函数和闭包 4.Swift 面向对象基础(上)5.Swift 面向对象基础(中) 6.Swift 面向对象

iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)

iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接) 这里推荐两款好用的Xcode插件,并提供下载链接. 一.插件和使用如下: 1.两款插件 对项目中图片提供自动提示功能的插件:KSImageNamed-Xcode-master 提供快速创建自动注释:VVDocumenter-Xcode-master 2.使用介绍: (1)KSImageNamed-Xcode-master的使用 安装该插件后,会对文件中图片进行智能提示. (2)VVDocumenter-Xcode-master能提供

IOS 开发环境,证书和授权文件等详解

一.成员介绍 1.    Certification(证书) 证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种: 1)    Developer Certification(开发证书) 安装在电脑上提供权限:开发人员通过设备进行真机测试. 可以生成副本供多台电脑安装: 2)      Distribution Certification(发布证书) 安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序. 不可生成副本,仅有配置该证书的电脑才可使用:(副本制做介绍在

iOS开发——面试篇&OC基本语法总结(面试)

OC基本语法总结(面试) C和OC对比 OC中主要开发在什么平台上的应用程序? 答:可以使用OC开发Mac OS X平台和iOS平台的应用程序 OC中新增关键字大部分是以什么开头? 答:OC中新增关键字大部分是以@开头 OC中新增加了那些数据类型? 答: Block类型 指针类型(Class, id类型) 空类型 特殊类型(SEL, nil) 面向对象特性是什么? 答:继承性,封装性,多态性 import和#include有什么区别? 答:import 的功能和 include一样, 是将右边的

iOS开发网络篇—网络编程基础

iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过网络跟外界进行数据交互.数据更新,应用才能保持新鲜.活力 (3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据 新闻:网易新闻.新浪新闻.搜狐新闻.腾讯新闻 视频:优酷.百度视频.搜狐视频.爱奇艺视频 音乐

iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

iOS开发系列--音频播放.录音.视频播放.拍照.视频录制 转载:http://www.cnblogs.com/kenshincui/p/4186022.html#avFoundationCamera --iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音

iOS开发 定位服务与地图

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO