您的位置:首页 > APP开发技巧 > 正文

APP开发入门学习干货

据小编所知,周围不少人都有过不错的APP创意,但是走到最后的少之又少。当然了,很多时候这归结于想法和现实中间不止隔着一个APP开发,但是如果连APP开发都不会,那么便是连最基本的一步都迈不出去了。因此今天小编就来和大家讲讲APP开发入门的那些

APP开发入门学习干货

一、Android应用开发入门

第一阶段:认知入门

首先入门android一定要有Java基础。自学android的时候,如果java的基础不是很好,连java的基本语法和对常用类用发都很模糊,就会导致后面学android的时候不清不楚,信心大减很受打击。

所以一定要先把java的基础学扎实。准备好学习android的基础之后,正式学习android。如果是零基础,最好的学习方法是以看视频教程为主,辅以一两本android基础的书。入门android,最大的阻力莫过于如何自己创建一个android项目进行开发,包括了解android项目的结构组成、使用什么开发工具以及基本开发步骤。很多关于android入门的书一开始一边都是讲一些关于android系统的发展过程等等这些介绍性的东西,然后在讲讲android开发的重点是什么四大组件。大多数人一般看看都能接受这些东西,但是大多数人都卡在了接下来真正学习android的环节,也就是如何自己创建一个android项目进行开发。

另外除了Java之外,下面这些也很重要:

算法分析和数据结构:查找,排序,DP,图论,数论,栈,堆,二叉树等,一本《算法导论》,再来一本数据结构的书基本够了。最重要的是刷题,让你更加理解。同时有些公司笔试也这样。

操作系统:进程线程,中断机制等,推荐书《深入理解计算机系统》

计算机网络:五层架构,各种协议等等,推荐书《计算机网络:自顶向下方法》

编译原理:它可以让你更好的理解语言的结构,词法分析,语法分析等,对你的掌握语言有帮助,书籍一本教材就差不多了。

数据库:可以去了解了解,各种范式,android开发对其要求也不高,但有必要了解,可以去买一本简单的教材看看。

学习好以上这些,买一本纸质的android入门书籍,一定是入门的,给自己1周完整的时间按照里面的阅读建议阅读完,第一遍不需要完全读懂,但是需要尽量的尝试看懂。第2周开始细细读一遍。

第二阶段:知识入门

认知入门后其实就比较简单了,拿过你的入门书籍,从环境搭建开始,到书中其他的演示的例子都自己尝试跑一遍,遇到错误自己尝试解决,如果超过20分钟没解决掉,可以google找找答案,基本上大部分的问题都已经有了答案,因为行业已经很成熟了。按照入门教程上说的慢慢的做Android开发,这个时候API主要是在Android开发入门教程上做对照。但是这个时候大家都会遇到一个情况就是,实现之后会出现一些莫名其妙的问题,所以还必须要会利用一些平台去搜索。一般细细过完一本书上的全部例子基本上就有对 android 有个大体上的入门了。可以去github上面找开源项目自己编译运行,并且改编成其他版本。www.canus.net

另外说说Android Studio和Eclipse,即IDE(Integrated Development Environments)。不像其他应用程序,除了需要写代码进行编译,还要写运行代码,在IDE中编译只需点击一个按钮即可运行代码。不过得在Eclipse里安装Android SDK,而且所有的安装进程都能在专门的Android开发网站上找到。建议大家尽早从Eclipse迁移到Android studio,Android studio真的比Eclipse好用太多了,你越熟练使用它,它就越好用,特别是github上面很多项目都是基于Gradle的,集成到studio中很方便,总之,强烈建议迁到studio开发平台上来。

第三阶段:实战入门

有了基础认知,就进入到真正的 android 工程师成长轨迹中了,这个时候信息和知识就不是主要的了,这个阶段主要的按照知识点的形式来强化和实战,目的是持续学习在工作中会用到的各种技能。对于自学的人来说,在边做边学的过程中是最容易起步的了。从一个实际的项目开始,学习java学习android一步步的完成产品的开发。

其实通过自学,想达到用人单位的要求,其实是相当困难的。如果选择了这条路,就一定要有足够的毅力,并且能够在简历、面试被拒绝后,心无旁骛的继续学习,直到达到目的为止,而且这个阶段没有一个固定的时间,所以自学这条路只属于肯坚持下来的人。

二、ISO应用开发入门的不同

这一部分是对上一部分的一个展开,下面是一些更为具体的干货。

1 基本知识

其实我们一直被一种观念所误导,高学历并不代表你的本事就会比一般人强,重要还是在经验方面。由于对数据和结构的不熟悉,你在开发过程中会出现错误,所以我们刚入门的新手最好还是首先多去了解一下关于CS脚本的知识,多看关于CS的书籍,这样才能让你成长起来,这也是入门来说最容易懂的一门课程。

这里有两种语言,一种是新的语言swift,另一种较为传统的object-C在框架的架构上你一定要选其中一种来写代码,如果想详细去了解你们上网搜索,对我来说大多数工作时间开一个Safari页面去看Apple的文档并不是偶然的事情,为了让自己更好的写类、结构体、循环、函数分配变量、表达式求值的水平。

技术人员一定要有一门自己最熟练的语言用来开发,无论是object-C或者是swif,如果项目繁多可以用swift,其他一般都用object-C,两者都是开发apple平台软件的编程语言,swift是最近才崛起。编译器最终会把它翻译成C语言,也就是说编译器最终面对的其实都是C语言代码。

swift这种语言,使得android码农可以非常迅速的搞起IOS开发,如今swift已经很成熟了,不存在升级一个版本,面临大量代码改写的悲剧了,而且,git上swift的开源库,也是慢慢的够用了,退一万步讲,即便没有,引入object-C的库,也是能够用的。

2 框架, API, 设计模式

UIKit(UITableView,UIButton,UINavigationController,gesturerecognizers)界面生成器(故事板,Segues, xib)基础类型(NSArray,NSDictionary,NSString)以及它们的迅速对应(数组,字符串字典和)HTTPAPI(NSURLSession,基本的RESTAPI概念,用nsjsonserializatioN做JSON解析)GrandCentralDispatch(GCD,NSOperationQueue)数据持久化(nscoding,nsuserdefaults,CoreData)内存管理(什么是循环引用,以及弧的基本原理)。

如果想把你的开发变得更容易,那么你就要重视你的设计模式,特别在IOS中设计框架常常被广泛利用,这样给你的工作省略了很多功夫,你的代码会更加清晰,在没有感觉的情况下你会做出很多不一样的东西,还可以活学活用。

代理模式(大多数iOSAPI的主要模式,你必须理解掌握它)所谓代理,其实更像是传送门。因为它主要就是用来在不同ViewController之间传送数据用的。假设有MVC分离和secondVC两个。如果你花时间改进你的代码。,用户在MVC输入的一个值要在firstVC里用到。

3 开发环境

IOS开发需要一台Mac,而Android可以要也可以用window,你要去熟悉它的开发环境,如果你不熟练的情况下就算给你一台Mac你也很难把代码写进去,最好用标准或者低配置做起。

4 开发工具

IOS开发工具有很多种,但是下面的是较为常用的也是我推荐你们的工具,我简单的介绍一下它们的特点:

1. Xcode具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成;是开发OSX和iOS应用程序的最快捷的方式。AndroidStudio作为android开发的御用编辑器,其中有太多好用的功能不想过多解释,相比之下,XCODE作为IOS开发的御用编辑器,大部分功能就比android studio要落后很多:www.canus.net

a、Version 8.2.1之后,直接导致之前的很多插件都没法使用了。

b、swift代码重构等功能迟迟没有提供,相信这对于所有小伙伴来说,至少是1万点伤害。

c、查找功能差Android一条街,double shift查找各种,而XCODE需要点击到左下角,在选类型,在查找。

d、调试功能相对于AndroidStudio来说,有点类似于我国和美帝的差距

e、自动补全,代码着色,注释功能经常间歇性抽风,不知何故,严重需要重启MAC才恢复,(注意,不是重启XCODE),比如下面注释不能使用的场景

但是,你必须得接受一个事实XCODE毕竟是IOS开发的御用IDE,不用也不行。同时开一个APPCode来作为辅助,是一种不错的选择,而且这对于曾经是android开发的你来说,绝对是一种增强型体验,快捷键就使用你之前的即可,查找,rename,等等功能。

2. Git版本控制它可以帮助你跟踪、分支、合并和管理代码版本。

3. JIRA或者Bugzilla基本就是JIRA,你也是不需要成为使用它的专家,但是你应该至少把它玩个大概,第一次看见它界面的时候别怕。

4. CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。

总结一下,在有android开发基础上做到ios开发入门是比较简单的,但是,要做到ios开发上游刃有余,还是需要一定的时间的,那么,如何加速这个过程,只有让自己不断的痛苦,比如,去github上学习开源的项目,在比如,直接熟悉你们现有的项目的ios版本。

热门APP开发公司

  • 酬诚logo酬诚

    成都酬诚网络科技有限公司(简称酬诚网络),2012年前

  • 奕环logo奕环

    广州奕环信息科技有限公司起源于中山大学信科院研

  • 酷蜂logo酷蜂

    酷蜂科技隶属于广州市酷蜂教育科技有限公司,成立于

热门APP开发技巧

热门APP开发问答