有这样一款游戏,它能够巧妙地利用手机上的麦克风,让玩家以“歌声”化作武器,在享受通关快感的同时不知不觉间锻炼自己对音高与音准的掌控,并提高歌唱的技巧。有这样一款应用,它能够AR技术与精妙的3D建模相融合,让使用者通过手机摄像头“看到”四种中国传统乐器鼻笛、琵琶、铓锣和古琴的细节和历史,并通过模拟弹奏,让久远的古乐风华在现代的智能手机中重现。还有这样的一个APP,它将病毒设置为了富有各种不同“技能”的敌人,让玩家可以通过简单的手势划动与创意十足的自编关卡,在“消灭病毒”的过程中学习到相关知识,更树立起抗击疫情的信心。不难看出,以上的这些APP,都将十足的创意、有趣的使用体验,以及当前最新的移动设备硬件技术结合到了一起。然而谁能想到,它们的作者,其实只是三位在校的大学生呢?没错,作为苹果全球开发者大会(Worldwide Developers Conference)的一部分,就在几天前,苹果方面公布了2021年Swift学生挑战赛的获奖名单,并且我们三易生活与其中三位来自华中科技大学的同学也进行一些交流。他们分别是来自计算机科学与技术专业的大二学生邹雅、软件工程专业的大二学生刘菁楷,以及来自网络空间安全专业的大二学生史圣久。
有些朋友在看到了三位获奖同学的学校与专业后,或许会下意识地以为,三人之所以能够获奖,应该是源自专业本身的课程设置。然而实际上当我们与三人进行了深入的交流后发现,其实他们所参与的iOS Club社团,某种意义上来说才是开启Swift编程之路的关键。就拿刘菁楷同学的经历来说,当时刚刚入学的他虽然已经开始学习C语言编程,但由于基础和编程思路相对比较欠缺,因此对于未来产生了一些迷茫。正好当时学校各大社团开始招新,“无需技术基础”、而且有学长们提供入门教学课程的iOS Club,一下子就吸引到了他的关注。在进入iOS Club这个社团后,三人不仅在学长的培训课程帮助下,开始了对Swift语言和iOS开发的学习,更以此为契机将iOS开发与自身的课程和学校里的项目,有机地结合在了一起。比如说邹雅此次开发参赛应用时,就用到了校内接触到的语音识别算法,从而令更精准的音准、音高识别成为了可能。除此之外,iOS Club社团的经历也促使他们之间形成了跨专业的互助关系,而在与我们的交流中,邹雅和史圣久也都不约而同地提到了社团伙伴间的协同作业。在他们自学iOS开发的过程中,热心的学长会积极地提供答疑解惑。而在参赛作品提交前的最后一晚,为了进一步完善应用,来自不同学院、不同专业,但同属iOS Club的大家选择了聚在一起,在一场难忘的熬夜经历后,大家都交出了令人满意的作品。
在交流中,邹雅与史圣久同学还提到了一位iOS Club社团的学弟。据悉,他加入社团不过半年时间,但也成功开发出了一款应用,并参与了今年的Swift学生挑战赛。这意味着什么?在与三位同学的交流中,我们注意到他们都提到了在参与iOS Club后,自身靠着阅读官方文档和技术博客进一步学习的过程。换而言之,在这三位获奖同学看来,苹果方面所提供的、详实而易懂的技术资料,是新手也能很快熟悉Swift编程的重要原因之一。不仅如此,三位同学对于Swift语言和Swift Playgrounds APP更是给予了极高的评价。在刘菁楷看来,与其他“历史悠久”的编程语言相比,Swift是一个相当年轻的编程语言,或许正是因为“年轻”,使得Swift从一开始就将语法的条理性和易理解性摆在了很高的位置,这使得它本身就更适合上手学习。与此同时,清晰、易懂、也容易记忆的Swift语言,在功能性上并没有做出妥协。事实上,无论刘菁楷还是史圣久,都对Swift全面的功能大为好评。用他们的话来说,Swift支持面向过程编程、面向对象编程、面向协议编程等多种多样的方式,而且平日里在学校学到的各种不同编程思路,也都可以通过Swift,以非常简洁而有条理的代码获得实现。这既有利于通过编程实现自己的奇思妙想,同时在这个过程中,原本对编程不太了解的新手,也能逐渐成长为可以独当一面,并立志将iOS开发作为未来职业方向的的出色开发者。
众所周知,移动应用开发的确是当前软件行业相当有前景的方向。但是在我们询问几位获奖同学是否有兴趣从事iOS之外的其他移动生态的开发时,却无一例外地得到了否定的答案。为什么会这样?在这里就不得不提到,苹果在mac与iPad系列上为编程初心者推出的编程学习以及实践工具——Swift Playgrounds了。Swift Playgrounds是什么?简单来说,大家可以将它理解为一个互动性极高的编程教程。通过内置的一系列由世界顶尖开发者开发的实例,即使是完全没有基础的老人或者孩童,也能如同玩游戏那样一步步地开始熟悉编程的理念,学习编程的思想,进而熟悉各类命令。不仅如此,Swift Playgrounds本身也可以作为一个轻量、友好的编程工具来使用。例如,刘菁楷就在与我们的沟通中特别指出,相比于其他那些运行在PC上、体积硕大的编程环境,Swift Playgrounds可以直接在高度便携的iPad上运行,可以使用触屏直观地调整程序元素。除此之外,Swift Playgrounds生成的playground格式程序文件体积非常小,可以直接使用iPad的隔空投送功能,无线分享给其他伙伴,避免了传统编程工程文件体积硕大、难以共享的问题。再加上Swift Playgrounds可以非常方便地逐行执行代码,在刘菁楷看来,这不仅仅方便了开发者迅速调试程序,找出BUG,更能让初学者通过逐行执行代码,非常直观地看出程序的执行逻辑,对于养成良好的习惯有着很大的助益。此外,看过今年WWDC开幕演讲的朋友都知道,苹果今年对Swift Playgrounds的iPad版本进行了大幅的功能增强,未来它将可以直接创建应用程序并发布到App Store上了。这也就意味着,对于iOS开发的初学者来说,他们甚至不再需要购买mac系列电脑,只要有一台iPad,就已经可以胜任从入门到最终创建自己应用程序的全过程。再加上苹果刚刚宣布的新技术“Universal Control”,能够实现mac与iPad之间的操作融合,直接使用mac的键鼠控制iPad上的程序,或是在两者间通过鼠标拖拽直接复制内容。这就使得开发者未来将可以更加顺手地同时使用mac与iPad来同步编写代码、测试应用,以及学习编程知识,从而将整个iOS和Swift语言的开发舒适度再次提升到新的境界。如此一来,也无怪乎大家都格外偏爱苹果的开发环境,甚至早早地就立志要成为iOS开发者了。毕竟,有易学、易用的工具和编程语言,有本就很强大的硬件设备以及市场表现亮眼的生态圈作为支撑,又有成熟的社团化培训机制。对于当下的年轻人而言,无论是出于自我提升的目的,还是作为长期的职业规划来说,又有谁会不喜欢这样的氛围呢?
三星JN1这类CMOS像素虽然很高,但用作后置主摄显然并不合格。
以目前酷派的实力,推出“致敬鸿蒙”的UI显然更具可操作性。