作为一个HUT移动组待了一坤年(两年半)多的老人,在这里为还在考虑进哪个组的萌新们以及将来进组的新朋友提供一份关于移动应用开发介绍以及学习路线的白话文,因为我是iOS方向的,所以学习路线就只介绍iOS了,希望这篇文章对你了解移动应用开发有帮助。
从字面入手,移动应用开发简而言之就是针对移动端的开发,再浅显一点就是做App。App已经成为人们日常生活中不可或缺的一部分,它满足了包括生活、出行、学习、娱乐以及各种特殊用户的需求,即便如今App种类已经很多,但不同用户会有其个性化的需求,时代的发展也会产生新的需求,比如新的AI技术ChatGPT就可以套在各种App中,所以这个市场的需求量是巨大的,还有很多可以解决不同问题的App等待着被开发。
理由内核:进入移动组就是为了开发一个真正能解决用户需求和社会问题的App!!!
学会了移动应用开发之后,你就可以做这样式的App,如下图。
当然,除了以上这个终极目标,咱们再说一些实际的。
计算机专业是一个特别注重实践的专业,你边敲代码边去查资料解决你的bug比你傻愣愣看一天书来的收获更大(当然不是说看书不重要,不要舍本逐末)。当你在进行App开发时,遇到的所有问题都是和你学习的专业课挂钩的。
诸如此类还有很多很多,开发App算是计算机的顶层,这里的顶层不代表开发App的程序员就是最牛的,代表的是它不去细致的讨论关于计算机系统的底层原理和操作,而是直接把被层层封装的东西拿来构造出一个开发者可见的内容,可以将你一学期啃下来的晦涩难懂的计算机原理书可视化,这是不是能帮你更好的理解书本知识呢?理解了是不是考试分数就高了呢(手动狗头),移动组成绩排名前列一抓一把,这当然不是目的,但我想表达的就是学习开发这种最顶层的应用对你的帮助。
做App的成就感当然不仅限于自己一个人默默感受,你可以拿去在应用商店上架或者比赛啊啊啊啊!!!
先说比赛的好处:
比赛过程:
应用开发类比赛是一个长周期的比赛,最终提交的作品需要配备对应的文档、PPT、演示视频,参加比赛的单位是一个团队,你将组建自己的团队,这个团队必须能够完成产品设计、界面设计、代码实现、文稿描述、视频演示等任务,这就需要一个配置合理的阵容,可别全是敲代码的码哥,没那么多代码给你敲。完成以上任务就可以官网提交你们的作品,如果立意新颖,能解决实际问题方便用户,或者关注到了不同人的需求你就可以一路过关斩将进入决赛,这时你将收获一场公费旅游!!!没错,去到现场进行最后的演示汇报,然后要做的就是美美的玩美美的吃美美的抱着奖品回家。
这里放21届移动组成员参赛的作品和参赛照片。
比赛集训去的是上海,参加了不少讲座学习,去了两个企业参观(小红书、米哈游),还有很多有趣活动,能认识全国各大高校志同道合的朋友!
正式比赛去的是浙江大学,向各个企业老板、院校老师展示你的作品,让他们进行最终审核,我们还见到了带我入门计算机的计算机男神翁恺老师/(ㄒoㄒ)/~~。
1、全体参赛成员合照
2、集训照片
3、小红书参观照
4、组委会给里的作品海报
5、翁恺老师签名
6、移动应用创新赛奖品(2023年版)
特等奖 | 苹果全家桶 |
---|---|
一等奖 | iPad Pro、iPhone、Airpods |
二等奖 | Apple Watch series、Beats Fit Pro |
三等奖 | Apple Watch SE、Beats Studio Buds耳机 |
这里的奖品是参赛团队(3人)每人一份!!!如果团队就1个人照拿3份!!!
此外回到学校还有大批奖金!
因为我不考研所以我了解不多,这里就只谈谈就业。
当你完成前两点(专业技能的提升和比赛获奖),那就业的敲门砖就已经获得,接下来你就好好准备面试就可以了,HUT移动组的就业情况:微软、阿里、字节。。。。。。我这届还不知道,但是历年学长学姐尊嘟很强!
好啦,如果正式开始学习就可以看这里了,网上能找到的那些普适性的我就不说了,就说咱们移动组的iOS学习路线。
1、Swift基础语法
我们目前使用最新的Swift语言进行iOS开发,所以掌握这门语言是必不可少的。
2、简单项目的学习
在这里你的“师傅”会给你发简单的项目和完整的项目让你学习入门,你将会从其中学到开发框架、代码规范以及获得基本开发能力。
3、做天气
这是咱们组的一个经典项目了,学会基本开发后就是敲这个小项目了,能让你更进一步。
4、自己做一个App
算是假期作业,自己用已有的开发能力实现一个App,由学长学姐点评。
5、备赛
做完上述这些你就已经大二了,快到比赛的日子了,此时你需要自己憋一个想法出来,这个想法指的就是你App的立意和功能,以及这个App在比赛中是否有利,是否真的有实际的社会意义,这个阶段中老师会介入传授经验,也会给你提供有效建议,最后带你去比赛。
6、自由学习
这个步骤是贯穿始终的,你随时可以去研究一个自己喜欢的框架,去做一些自己喜欢的方向,包括但不限于游戏App、功能性App、学习类App。有很多框架都是可以供你学习使用的,比如ARKit、RealityKit可以实现增强现实(AR)的一些应用;Alamofire可以实现网络拉取,从别人提供的接口上拉取一些信息放在你的App里,比如实时天气信息;CoreData可以实现本地存储等等你也可以直接去看原生库的源码。另外你还需要掌握一些底层知识,比如GCD来操作线程、渲染机制、ARC自动回收机制、RunLoop运行循环等等。
上述只是一个学习路线的大概,真正的学习都是在每一个过程的细节里,这将是非常漫长且辛苦的,你可能会因为一个bug痛苦一整天,但这也是你收获时的回忆,希望大家能走好每一步,最后成为很棒的人!
最后,非常欢迎大家加入HUT移动组!!!