当前位置: 首页 > news >正文

移动应用开发介绍及iOS方向学习路线(HUT移动组版)

移动应用开发介绍及iOS方向学习路线(HUT移动组版)

前言

​ 作为一个HUT移动组待了一坤年(两年半)多的老人,在这里为还在考虑进哪个组的萌新们以及将来进组的新朋友提供一份关于移动应用开发介绍以及学习路线的白话文,因为我是iOS方向的,所以学习路线就只介绍iOS了,希望这篇文章对你了解移动应用开发有帮助。

什么是移动应用开发?

​ 从字面入手,移动应用开发简而言之就是针对移动端的开发,再浅显一点就是做App。App已经成为人们日常生活中不可或缺的一部分,它满足了包括生活、出行、学习、娱乐以及各种特殊用户的需求,即便如今App种类已经很多,但不同用户会有其个性化的需求,时代的发展也会产生新的需求,比如新的AI技术ChatGPT就可以套在各种App中,所以这个市场的需求量是巨大的,还有很多可以解决不同问题的App等待着被开发。

为什么要进移动组?

理由内核:进入移动组就是为了开发一个真正能解决用户需求和社会问题的App!!!

学会了移动应用开发之后,你就可以做这样式的App,如下图。

1

2

3

​ 当然,除了以上这个终极目标,咱们再说一些实际的。

1、提升专业技能

​ 计算机专业是一个特别注重实践的专业,你边敲代码边去查资料解决你的bug比你傻愣愣看一天书来的收获更大(当然不是说看书不重要,不要舍本逐末)。当你在进行App开发时,遇到的所有问题都是和你学习的专业课挂钩的。

  • 想让你的App跑的快,代码清晰易于编程,需要用到数据结构与算法。
  • 想让你的App能和其他App联动,比如给这篇文章点赞评论收藏,需要用到计算机网络。
  • 想让你的App能挂在后台玩的同时使用学习通做作业,需要用到操作系统。
  • 想让你的App能把你还在编辑框的文字和帅照保存,下次打开还能继续编辑,需要用到数据库。

​ 诸如此类还有很多很多,开发App算是计算机的顶层,这里的顶层不代表开发App的程序员就是最牛的,代表的是它不去细致的讨论关于计算机系统的底层原理和操作,而是直接把被层层封装的东西拿来构造出一个开发者可见的内容,可以将你一学期啃下来的晦涩难懂的计算机原理书可视化,这是不是能帮你更好的理解书本知识呢?理解了是不是考试分数就高了呢(手动狗头),移动组成绩排名前列一抓一把,这当然不是目的,但我想表达的就是学习开发这种最顶层的应用对你的帮助。

2、参加比赛

​ 做App的成就感当然不仅限于自己一个人默默感受,你可以拿去在应用商店上架或者比赛啊啊啊啊!!!

先说比赛的好处:

  • 综测把分加到溢出
  • 大笔大笔奖金和奖品
  • 获得一批人脉资源
  • 锻炼包括但不限于coding的综合能力
  • 获得比赛爆出的物品——一纸奖状

比赛过程:

​ 应用开发类比赛是一个长周期的比赛,最终提交的作品需要配备对应的文档、PPT、演示视频,参加比赛的单位是一个团队,你将组建自己的团队,这个团队必须能够完成产品设计、界面设计、代码实现、文稿描述、视频演示等任务,这就需要一个配置合理的阵容,可别全是敲代码的码哥,没那么多代码给你敲。完成以上任务就可以官网提交你们的作品,如果立意新颖,能解决实际问题方便用户,或者关注到了不同人的需求你就可以一路过关斩将进入决赛,这时你将收获一场公费旅游!!!没错,去到现场进行最后的演示汇报,然后要做的就是美美的玩美美的吃美美的抱着奖品回家。

​ 这里放21届移动组成员参赛的作品和参赛照片。

作品1:《瓷遇醴陵》

image-20231129000918954

image-20231129000924525

image-20231129000929505

作品2:《寻卯》

image-20231129001015041

image-20231129001027122

image-20231129001103129

image-20231129001109581

作品3:《瀚宇游》

image-20231129001217793

image-20231129001229682

image-20231129001233359

image-20231129001237974

image-20231129001248097

image-20231129001259841

参赛照片

比赛集训去的是上海,参加了不少讲座学习,去了两个企业参观(小红书、米哈游),还有很多有趣活动,能认识全国各大高校志同道合的朋友!

正式比赛去的是浙江大学,向各个企业老板、院校老师展示你的作品,让他们进行最终审核,我们还见到了带我入门计算机的计算机男神翁恺老师/(ㄒoㄒ)/~~。

1、全体参赛成员合照

地点:浙江大学

2、集训照片

image-20231129001956357

3、小红书参观照

CAFF6CC92248E2053FC5F87FF2B8F1A6

QQ图片20231129014507

4、组委会给里的作品海报

86E4D559C12CC0C6594C33341656FB0C

5、翁恺老师签名

B0FD6CB3F63540AF5B05C96901D84D1B

6、移动应用创新赛奖品(2023年版)

特等奖苹果全家桶
一等奖iPad Pro、iPhone、Airpods
二等奖Apple Watch series、Beats Fit Pro
三等奖Apple Watch SE、Beats Studio Buds耳机

这里的奖品是参赛团队(3人)每人一份!!!如果团队就1个人照拿3份!!!

此外回到学校还有大批奖金!

3、就业

​ 因为我不考研所以我了解不多,这里就只谈谈就业。

​ 当你完成前两点(专业技能的提升和比赛获奖),那就业的敲门砖就已经获得,接下来你就好好准备面试就可以了,HUT移动组的就业情况:微软、阿里、字节。。。。。。我这届还不知道,但是历年学长学姐尊嘟很强!

iOS开发学习路线

​ 好啦,如果正式开始学习就可以看这里了,网上能找到的那些普适性的我就不说了,就说咱们移动组的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移动组!!!

相关文章:

移动应用开发介绍及iOS方向学习路线(HUT移动组版)

移动应用开发介绍及iOS方向学习路线(HUT移动组版) 前言 ​ 作为一个HUT移动组待了一坤年(两年半)多的老人,在这里为还在考虑进哪个组的萌新们以及将来进组的新朋友提供一份关于移动应用开发介绍以及学习路线的白话文…...

vue+uniapp校园寻物失物招领平台 微信小程序1f6z5

系统中的核心用户是管理员,管理员登录后,通过管理员菜单来管理后台系统。主要功能有:首页、个人中心、用户管理、物品分类管理、物品信息管理、物品归还管理、留言板管理、系统管理等功能。管理员用例如图3-7所示。 对于本网上失物招领小程序…...

Linux内核--内存管理(三)物理内存分页机制--kmalloc及slub机制

一、引言 二、slub机制 ------>2.1、slub分配原理slub原理 ------>2.2、slub分配原理 ------>2.3、slub释放原理 ------>2.4、SLUB分配器 三、slub数据结构 ------>3.1、kmem_cache ------>3.2、kmem_cache_cpu ------>3.3、kmem_cache_node --…...

Shell - cron_protect.sh 监控 Python、Streaming 程序

目录 一.引言 二.Flink 程序监控 1.shell 脚本 2.crontab 配置 三.Python 程序监控 1.shell 脚本 2.crontab 配置 四.总结 一.引言 业务有流式处理数据的需求,需要 7x24 通过 Flink Python 程序进行处理。为了监控 Flink 与 Python 的程序运行状态并在程…...

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。 一般来说出现这个问题是因为使用git版本控制工具合并代码出现了问题&#xff0c;想要解决也很简单。 如图点击错误后定位到文件&#xff0c;发现也没有什么问题。 根据错误后边的提示&a…...

【赠书第9期】巧用ChatGPT高效搞定Excel数据分析

文章目录 前言 1 操作步骤 1.1 数据清理和整理 1.2 公式和函数的优化 1.3 图表和可视化 1.4 数据透视表的使用 1.5 条件格式化和筛选 1.6 数据分析技巧 1.7 自动化和宏的创建 2 推荐图书 3 粉丝福利 前言 ChatGPT 是一个强大的工具&#xff0c;可以为你提供在 Exce…...

会声会影2024旗舰版系统配置要求及格式支持

会声会影2024旗舰版是一款广受欢迎的视频编辑软件&#xff0c;它的最新版本&#xff0c;会声会影2023&#xff0c;已经发布。在这篇文章中&#xff0c;我们将探讨会声会影2024旗舰版系统配置要求及格式支持 会声会影2024是一款专业的视频剪辑软件&#xff0c;能够帮助用户制作高…...

【部署运维】docker:入门到进阶

0 前言 部署运维博客系列一共有三篇&#xff1a; 拥抱开源&#xff0c;将工作中的经验分享出来&#xff0c;尽量避免新手踩坑。 【部署运维】docker&#xff1a;入门到进阶 【部署运维】kubernetes&#xff1a;容器集群管理掌握这些就够了 【部署运维】pythonredisceleryd…...

鸿蒙开发学习——应用程序框架

文章目录 UIAbility的生命周期Create状态WindowStageCreateForeground和Background前后台展示控制onWindowStageDestroyDestory 总结 UIAbility的生命周期 感觉这里他讲的不清晰&#xff0c;UIAbility的4个声明周期是Create、Foreground&#xff08;桌面展示&#xff09;、Back…...

Linux dd命令详解:如何从标准输入或文件中读取、转换并输出数据(附实例教程和注意事项)

Linux dd命令介绍 Linux dd命令用于读取、转换并输出数据。dd可以从标准输入或文件中读取数据&#xff0c;根据指定的格式来转换数据&#xff0c;再输出到文件、设备或标准输出。这个命令在备份硬盘、创建启动盘、数据恢复等场景中非常有用。 Linux dd命令适用的Linux版本 d…...

Python——常见内置模块

Python 模块&#xff08;Modules&#xff09;1、概念模块函数类变量2、分类3、模块导入的方法&#xff1a;五种4、使用import 导入模块5、使用from……import部分导入6、使用as关键字为导入模块或功能命名别名7、模块的搜索目录8、自定义模块 常见内置模块一、math模块二、rand…...

JAVA毕业设计112—基于Java+Springboot+Vue的宠物领养社区小程序(源码+数据库)

基于JavaSpringbootVue的宠物领养社区小程序(源码数据库)112 一、系统介绍 本系统前后端分离带小程序 小程序&#xff08;用户端&#xff09;&#xff0c;后台管理系统&#xff08;管理员&#xff09; 小程序&#xff1a; 登录、注册、宠物领养、发布寻宠、发布领养、宠物社…...

golang log模块使用

在Go中&#xff0c;log 包是用于输出日志信息的标准库。以下是一些基本的 log 包的使用示例&#xff1a; 基本用法&#xff1a; package mainimport ("log" )func main() {log.Println("This is a log message.") } 运行程序&#xff0c;你会在控制台看到日…...

软件开发中的抓大放小vs极致细节思维

最近在开发过程中&#xff0c;遇到了好多次 “这个需求点这次要不要做&#xff1f;” 的问题&#xff0c; 主要有两方阵营&#xff0c;比如以研发主导的 “这次先不做、等必要的时候再做” &#xff0c;另外一方是以PM主导的 “这个不做需求不完整&#xff0c;可能影响用户体验…...

java文件上传以及使用阿里云OSS

JavaWeb 文件上传本地存储阿里云OSS配置文件 yml配置文件 文件上传 前端页面三要素&#xff1a; 表单项type“file” 表单提交方式post 表单的enctype属性multipart/form-data 本地存储 保证上传的文件不重复 //获取原始文件名String originalFilename image.getOriginalFi…...

相关性分析和作图

相关的类型 1. Pearson、Spearman和Kendall相关 Pearson 积差相关系数衡量了两个定量变量之间的线性相关程度。&#xff08;连续&#xff09; Spearman等级相关系数则衡量分级定序变量之间的相关程度。&#xff08;分类&#xff09; Kendall’s Tau 相关系数也是一种非参数的…...

AlphaFold的原理及解读

1、背景 蛋白质是生物体内一类重要的生物大分子&#xff0c;其结构复杂多样&#xff0c;蛋白质的结构对于理解其功能和参与的生物学过程具有重要意义。从生物学角度上看&#xff0c;蛋白质的结构可以分为四个层次&#xff1a;初级结构、二级结构、三级结构和四级结构。 初级结…...

【ChatGLM3-6B】Docker下快速部署

【ChatGLM2-6B】小白入门及Docker下部署 前提下载安装包网盘地址 开始安装加载镜像启动镜像进入容器启动模型交互页面访问页面地址 前提 安装好了docker安装好了NVIDIA显卡16G 下载安装包 网盘地址 ​ 这里因为网盘上传文件有大小限制&#xff0c;所以使用了分卷压缩的方式…...

两部手机数据传输后备忘录不见了怎么回事

想必很多人都遇到过&#xff0c;当两部手机进行备忘录数据传输后&#xff0c;突然发现备忘录不见了&#xff0c;这让人不禁着急上火&#xff0c;我也曾经遇到过这种事情导致很多重要的内容都丢失了。 一般出现这种情况可能是因为&#xff0c;两部手机使用的是不同的云服务&…...

【Unity入门】LayerMask小结

LayerMask常用的几种方法 LayerMask.GetMask 根据 层名称 获取其层遮罩值 遮罩值 2^层索引 假设 UserLayerA 和 UserLayerB 是第十层和第十一层。 这两个层会具有 User Layer 值 10 和 11。若要获取其层遮罩值&#xff0c; 可以将其名称传入 GetMask。参数可以是 其名称的列…...

Day131 | 灵神 | 回溯算法 | 子集型 子集

Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 笔者写过很多次这道题了&#xff0c;不想写题解了&#xff0c;大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构&#xff1a; 传统SMO中LPF会带来相位延迟和幅值衰减&#xff0c;并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF)&#xff0c;可以去除高次谐波&#xff0c;并且不用相位补偿就可以获得一个误差较小的转子位…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

&#x1f4e2; Vue 3 WebSocket 实战&#xff1a;公司通知实时推送功能详解 &#x1f4cc; 收藏 点赞 关注&#xff0c;项目中要用到推送功能时就不怕找不到了&#xff01; 实时通知是企业系统中常见的功能&#xff0c;比如&#xff1a;管理员发布通知后&#xff0c;所有用户…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...