其实说是指南,不外乎是对网上一些学习资源的汇总整理,加上个人的理解并加以整合而成。本篇指南只面向入门及初级的小白,进阶大神可忽略。
言归正传,简单谈谈移动端App开发。移动端App开发就目前的市场而言,一共三条主线:iOS开发、Android开发以及HTML5跨平台混合开发。前两者通常称为Native(原生)开发,后者一般称为Hybrid(混合)开发。所使用的开发语言分别对应:Objective-C(一些公司使用Swift-苹果近年来主推的iOS开发语言)、Java、HTML5技术栈。下面一一介绍。
iOS开发
具备条件:你需要一台Mac电脑(开发程序)、一部苹果手机(真机测试)
编程工具:Xcode — 苹果自家开发的iOS编程工具,可以开发iPhone、iWatch、iPad相关产品的App应用
开发框架:iOS SDK(软件开发工具包)中包含了应用程序开发的基础框架,其中Foundation、UIKit是两个主要的框架,能够满足大多数应用程序的开发需求。(详细可参考iOS的基本框架这篇博客)。另外第三方开源框架如AFNetworking、Masonry等是为了方便开发而提供的网络请求库和代码自动布局库。(详细可参考iOS开发常用第三方开源框架这篇博客)。
推荐书籍:《iOS编程》适合入门看,内容比较基础,进阶参考iOS开发书籍推荐这篇博客,个人觉得含金量有的。书籍是系统学习iOS开发的一种途径,不读死书,取其精华,去其糟粕。
学习网站:慕课网可以跟着视频练一练,CocoaChina论坛可以逛一逛。最好的学习资源是官方文档,苹果官方文档这篇博客介绍的很详细,怎么查阅Apple Developer 文档。
Android开发
Android的原生开发没有做过,所以很难给出个人的经验和建议,这里推荐一篇博客Android学习之路,涵盖Android开发的具备条件、编程工具、推荐书籍、学习网站等,很全面,内容含金量也很高。
HTML5跨平台混合开发
首先了解一下什么是HTML5跨平台混合开发。前面提到,为iPhone终端设备开发App,需要一名iOS开发工程师使用Objective-C语言开发,为安卓设备开发App,需要一名Android开发工程师使用Java语言开发,两者开发的App都是原生的。而混合App,开发使用到的技术绝大多数是前端的HTML5技术,包含HTML(文档标记语言)、CSS(样式表)、JavaScript(脚本编程语言)。这三项是做混合开发或者前端开发的基本功,随着前端工程化的推进,各种框架和工具层出不穷,比如Vue.js 、Webpack、Nodejs等等都可能会在以后的开发中遇到。
具备条件:对电脑没有硬性要求,不过还是推荐使用Mac做开发,好用谁用谁知道:),一台安卓测试机,一台苹果测试机
编程工具:推荐使用Vistual Studio Code,轻量且功能强大,这里放一个官方下载链接。Sublime、Webstorm也是很不错的编辑器。
开发框架:先说说主流的三大JavaScript框架:Vue、Angular 、React 。Vue以其简洁、轻量渲染快、易上手等优点越来越受到国内的公司的青睐。开发移动端混合App,还有一个特别好的技术栈 Angular + ionic + cordova,在国外很受欢迎。JQuery库曾经大放异彩,如今虽逐渐被主流框架取代,但网站和部分手机应用中仍有一席之地,而且作为初学者JQuery好上手,容易理解。
推荐书籍:学习JavaScript,《JavaScript高级程序设计》红皮书首推,然后《JavaScript语言精粹》提炼了JavaScript脚本语言的精华部分。虽然有了Vue、Angular这样的框架,但是DOM操作也要熟悉才行《JavaScriptDOM编程艺术》。
学习网站:1、慕课网 – 跟着视频学习更容易理解,作为辅助
2、菜鸟教程 – 内容都很基础,可以作为入门和查资料用
3、Github – 学习要和实践相结合,在Github上下载开源项目,照着自己敲一遍,水平提升会很快
4、StackOverflow – 开发过程中会遇到各种各样的问题,有的时候国内人写的blog并不能解决问题,那么就需要用科学上网的方式,去一些国外网站来给你解答。
给初学者的忠告
以上的内容还非常笼统,并不能涵盖整个移动端App开发的学习,只是给初学者提供了一个思路,以下几点建议,个人认为是比较有用的。
1、树立一个不断学习的心态。从事了码农这一个职业,就意味着要不断地学习,技术更新迭代快,今天使用的技术,明天可能就会被淘汰,只有保持不断学习,不断拥抱新技术,才会立于不败之地
2、用好搜索引擎。百度、Google将会是你以后的工作的好帮手,学会使用合适的关键词去搜索,才能在浩瀚的互联网中找到你想要的东西。
3、官方文档至少看三遍。很多框架技术都有配套的官方文档,可能有一些由于信息的滞后性是全英文的文档,多看,看多了其义自见。很多书籍、视频都离不开官方文档的根本。
4、多看一些大牛的技术博客。与高人对话才能更好提升自己,看看大牛们是如何学习的。
5、实践是最重要的。只有在实践中在实际项目中用到并且会用,才能代表你真正掌握了这个技术。因此可以先拿一些小的项目练练手,经历一个项目从需求 -> 设计 -> 环境搭建 -> 开发 -> 测试 -> 部署 -> 上线 的整个流程。
最后祝君一切顺利