简单的说:
1、iOS开发前的准备阶段;
2、iOS开发的学习阶段;
3、应用在app store上架的图文教程。
具体地说:
第一步,获得工具。为了省钱和万一学不会别浪费的目的,我从 ebay 上买了一台二手的旧 iMac,卖家保养的非常好,收到后心里美美哒。(这个阶段耗时一周多,土澳的快递真考验耐心啊!)
第二步,配置系统。安装常用软件,最主要是 Xcode。学习阶段先不用注册苹果的开发者证书,也是为了省钱和万一学不会。现在苹果很体贴,真机调试也可以不用证书的。(这个阶段耗时两天,下载和安装什么的很慢,土澳的网速不比快递强多少!)
第三步,自学 swift。之前在网上搜索了很多 oc VS swift,感觉更喜欢 swift,简洁优雅(这词是人家说的,我是俗人)。我就是照着苹果官方的那个 swift 教程啃的,开始很晕,慢慢就容易理解了,个人感觉代码其实和说英语差不多,什么 if then, do ... while 之类,题主是英语专业的就更没问题了。其他就是一些逻辑和数学方面的,相信想学编程的人应该都不会太差。这里推荐用 Xcode 里那个 playground 多做练习,特别方便理解。(这个阶段耗时近一个月,毕竟是从零自学,遇到问题就上网狂搜)。
第四步,看 tutorials 练手。学完 swift 的基本语法后有一个错觉,就是感觉自己学会编程语言了但却不知道具体该怎么写上一个小程序,我就到网上搜教程跟着练。输入 ios swift tutorial 关键词会冒出大量教程,YouTube 里还有很多视频教程更直观。这里推荐一个我受益最大的教程网站:https://www.raywenderlich.com/ (不是广告,人家是免费的)。如果遇到不懂的问题,可以去 http://stackoverflow.com 请教,上面有无数热心前辈高手会给你无私帮助。(这个阶段耗时两周左右,做了一些教程实例。因为目标是游戏不是应用,所以什么控件啊、自动布局啊之类都没细看,只关注了模式、框架、和一些比如计时器等用的上的部分。)
第五步,学 SpriteKit 。这一步题主可以省略,我是因为要做独立游戏所以要学,如果是做应用类的不用学。基本过程和前面学 swift 差不多,但这次没敢啃苹果的官方文档,因为相比前面学 swift 的官方教程来说, SpriteKit 的内容太繁杂无边的感觉。我是直接从 raywenderlich 上跟着各种实例教程学下来的,不是很系统但需要用到的基本都掌握了。(这个阶段又是耗时近一个月,手机上一大堆方圆线条的图标都是我照着做的各种小游戏 demo)
第六步,开始自己的第一个游戏项目!这句字多还带感叹号,是因为我当时那心情实在太激动了!磨拳擦掌然后靠在椅背里一个深呼吸!等等,先生您还没给钱呢…… 好吧,我之前一直的屌丝抠门省钱路线终于遇到了挑战,该是时候注册苹果的开发者了,一年 AUD $149 无怨无悔的交了,毕竟现在心里也多少有点儿底了。其实抠门策略表示还可以拖到开发完成后再注册,但因为我项目里面用到 Game Center 的功能必须要有证书才能调测,所以早交早省心咯。(此阶段耗时约两小时,付款很快,前面摸索着各个步骤手续费了点劲,我没文化最怕填表之类的)
第七步,苦逼的开发中… 这句换省略号了,因为现在这个阶段还没做完,进度大概60%多了吧。实话说,这个阶段是心理压力最大的,身体也最累。白天工作,晚上陪老婆孩子们,夜里10点以后他们都睡了我就开始熬夜开发,一直到第二天凌晨三点,连续写4~5小时代码。每天都睡眠不足,心力疲惫,但对于一个拖家带口还一心想做独立游戏的大叔来说,梦想是要付出代价的!我已不再年轻,人生中能拼搏一场的机会已经不多了,为了心中那萦绕多年的梦想,就像结婚殿堂上那句永恒的誓言:无论是好是坏、富有或贫穷、健康或疾病 —— I do!
Simply put:
1. The preparation stage before iOS development;
2. The learning stage of iOS development;
3. Graphic tutorials for the application on the app store.
Specifically:
The first step is to obtain the tools. In order to save money and avoid wasting money in case I can't learn it, I bought a second-hand old iMac from eBay. The seller maintained it very well. I was very happy when I received it. (This stage took more than a week. The express delivery in Australia really tests my patience!)
The second step is to configure the system. Install commonly used software, mainly Xcode. You don't need to register Apple's developer certificate during the learning stage, which is also to save money and in case you can't learn it. Now Apple is very considerate and you don't need a certificate for real machine debugging. (This stage took two days. Downloading and installing are very slow. The Internet speed in Australia is not much better than express delivery!)
The third step is to learn Swift by yourself. I searched a lot about oc vs swift online before, and I feel that I prefer swift, which is simple and elegant (this word is said by others, I am a layman). I just followed the official swift tutorial of Apple. I was confused at the beginning, but it became easier to understand slowly. I personally feel that the code is actually similar to speaking English, such as if then, do ... while, etc., and the questioner is an English major, so there is no problem. The rest is some logic and mathematics. I believe that anyone who wants to learn programming should not be too bad. Here I recommend using the playground in Xcode to practice more, which is particularly convenient for understanding. (This stage took nearly a month. After all, I learned from scratch. I searched the Internet crazily when I encountered problems).
The fourth step is to practice with tutorials. After learning the basic syntax of swift, I had an illusion that I had learned the programming language but didn’t know how to write a small program specifically. I searched for tutorials online and practiced. Entering the keyword ios swift tutorial will pop up a lot of tutorials, and there are many more intuitive video tutorials on YouTube. Here is a tutorial website that I benefited the most from: https://www.raywenderlich.com/ (not an advertisement, it's free). If you encounter a problem you don't understand, you can go to http://stackoverflow.com to ask, there are countless enthusiastic seniors and masters who will give you selfless help. (This stage took about two weeks, and I did some tutorial examples. Because the goal is to make a game, not an application, I didn't look into controls, automatic layout, etc., and only focused on patterns, frameworks, and some useful parts such as timers.)
The fifth step is to learn SpriteKit. The questioner can skip this step. I have to learn it because I want to make an independent game. If I want to make an application, I don't need to learn it. The basic process is similar to learning Swift before, but this time I didn't dare to read Apple's official documents, because compared with the official tutorials for learning Swift before, the content of SpriteKit feels too complicated and boundless. I learned it directly from raywenderlich and followed various example tutorials. It's not very systematic, but I have mastered the basics that I need to use. (This stage took nearly a month. The icons with circles and lines on the phone were all small game demos I made.)
Step 6: Start your first game project! This sentence has many words and exclamation marks because I was so excited! I rubbed my hands and leaned back in my chair and took a deep breath! Wait, sir, you haven't paid yet... Well, my previous path of saving money has finally encountered a challenge. It's time to register as an Apple developer. I paid AUD $149 a year without regrets. After all, I feel more or less confident now. In fact, the stingy strategy means that I can wait until the development is completed before registering, but because the Game Center functions used in my project must have a certificate to debug, so the sooner I pay, the sooner I can save trouble. (This stage took about two hours, and the payment was very fast. It took a bit of effort to figure out the various steps in the front. I am not educated and I am most afraid of filling in forms and the like.)
Step 7, the hard work of development... This sentence is replaced with ellipsis because this stage has not been completed yet, and the progress is about 60%. To be honest, this stage is the most psychologically stressful and physically tiring. I work during the day and accompany my wife and children at night. After 10 o'clock in the evening, they all go to bed, so I start to stay up late to develop, until 3 o'clock in the morning of the next day, writing code for 4 to 5 hours in a row. I don't get enough sleep every day, and I am exhausted, but for an uncle who has a family and is still determined to make independent games, dreams come at a price! I am no longer young, and there are not many opportunities to fight in my life. For the dream that has lingered in my heart for many years, it is like the eternal oath in the wedding hall: whether it is good or bad, rich or poor, healthy or sick - I do!
App stands for Application. Broadly speaking, it can be divided into Android OS applications, IOS applications, and PC applications. Currently, there are also popular IoT applications and WeChat applets. At present, everyone may pay more attention to Android and IOS applications, which are also what we deal with every day.
1. Android
Application Development
If it is pure application development, which does not involve the development of JNI underlying drivers, then use the Google official website development tool AndroidStudio to develop it. If you are developing a game application APP that everyone is familiar with, you will also need tools for game engine development, such as unity3D and cocos2d that game developers are more familiar with. Many well-known games in the Google Store and Apple Store are related to these two tools.
2. IOS
Application Development
First, you need a Mac OS computer. If conditions permit, buy an Apple computer. If not, you can only build a virtual machine. You also need an Apple phone to actually run and test the APP. Finally, you need to install Xcode IDE to program and develop the APP.
The above are the creation instructions of the current mainstream apps. Of course, these are introductions to entry-level development. You can continue to discuss the details.