第一个受到关注的Swift应用?“Flappy Swift”分享与简析

简介: 距离苹果公司刚刚在WWDC 2014上,发布新一代苹果平台编程语言Swift刚刚过去个11小时,开发者Nate Murray就放出了基于测试版Swift开发的应用——一个重制Flappy Bird的简易原型。

距离苹果公司刚刚在WWDC 2014上,发布新一代苹果平台编程语言Swift刚刚过去个11小时,开发者Nate Murray就放出了基于测试版Swift开发的应用——一个重制Flappy Bird的简易原型。

1.gif

  • 游戏界面如图所示,基本的小鸟飞飞(Flappy Bird)
  • 物理系统和游戏流程基本正确
  • 单一界面的原型演示
  • 暂时不具备碰撞检测、主菜单界面、Game Over与计分功能
  • 以调试信息显示同屏活动物体数(nodes)和帧率
  • 代码量很小,适合fork下来收藏学习(重要)

我们推荐对Swift感兴趣的开发人阅读这个新作品的代码,并同时建议下载一份目前的版本试用或收藏。

在这里我们简单通读,了解一下这个差不多是第一个得到一定关注的Swift应用。

(参阅本站报道《【WWDC 2014】带您一览苹果全新编程语言Swift》)


语言与平台特性

使用iOS平台提供的依赖库:

  • SpriteKit
    用于2D游戏的贴图建构与物理引擎
  • UIKit
    iOS程序界面的基本库

使用Swift提供的以下语言特性:

  • 面向对象基本方法 (绝大多数代码)
  • extension (扩展)
  • 链式代码中加?替代nil空值检查 (WWDC现场演示的特性)
  • 命名参数、显式可空变量
  • 其他基本的循环与分支结构

全部程序使用Swift,程序内部(不含依赖库)并未使用Swift封装Objective-C的特性。


简评

从这个程序中我们可以看到,用Swift足够写出简洁易懂,语法上与其他脚本语言区别非常小,几乎无需学习Swift就能理解大概意思的程序。

由于Swift新近问世,并且iOS开发中调用接口的代码量,远远比体现语言本身结构的代码量要大(这也是正确的),所以Swift的特性与威力可能还没有得到100%的发挥。我们观察这个程序,仍然最好是按照传统的iOS程序来看待,重点关注SpriteKit在2D游戏开发中的用法。

相关文章
|
16天前
|
机器学习/深度学习 安全 数据挖掘
Swift语言的应用场景非常广泛
Swift语言的应用场景非常广泛
23 4
|
27天前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户点击按钮时,按钮将从圆形变为椭圆形,颜色从蓝色渐变到绿色;释放按钮时,动画以相反方式恢复。通过UIView的动画方法和弹簧动画效果,实现平滑自然的过渡。
49 1
|
2月前
|
Swift iOS开发 UED
如何使用Swift和UIKit在iOS应用中实现自定义按钮动画
【10月更文挑战第18天】本文通过一个具体案例,介绍如何使用Swift和UIKit在iOS应用中实现自定义按钮动画。当用户按下按钮时,按钮将从圆形变为椭圆形并从蓝色渐变为绿色;释放按钮时,动画恢复原状。通过UIView的动画方法和弹簧动画效果,实现平滑自然的动画过渡。
52 5
|
4月前
|
API Swift C语言
探索iOS开发:Swift中的异步编程与GCD应用
【8月更文挑战第4天】在iOS开发的海洋中,掌握Swift语言的航向是至关重要的。本文将引领你深入理解Swift中的异步编程概念,并借助Grand Central Dispatch(GCD)这一强大的工具,来简化并发编程的复杂性。我们将通过实际代码示例,展现如何在iOS应用中高效地管理后台任务和提升用户界面的响应性。
85 3
|
7月前
|
机器学习/深度学习 数据采集 TensorFlow
【Swift开发专栏】Swift与机器学习:构建智能应用
【4月更文挑战第30天】本文探讨了使用Swift开发机器学习应用,分为三个部分:机器学习基础(定义、类型及应用),Swift在机器学习中的作用(Swift for TensorFlow、Core ML及性能优势),以及实践技巧(数据预处理、特征工程、模型训练与部署、性能优化和用户界面集成)。通过学习,开发者能掌握构建智能应用的技能,利用Swift的性能和安全性提升应用效率。随着深入学习,开发者可探索更多高级特性和技术,如深度学习和复杂数据分析。
117 2
|
7月前
|
缓存 Swift UED
【Swift开发专栏】Swift应用的启动优化
【4月更文挑战第30天】本文介绍了Swift应用启动优化技巧,包括优化代码结构和资源加载。建议减少启动时加载的代码,采用延迟加载、分模块加载和懒加载策略;优化初始化代码,注意顺序、异步初始化和避免全局初始化。对于资源,压缩图片、使用矢量图和图片缓存可提升加载速度。文中还提供了实战案例,展示如何在代码中实施这些优化措施。
114 1
|
7月前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。
299 1
|
7月前
|
缓存 算法 Swift
【Swift 开发专栏】Swift 应用的性能优化技巧
【4月更文挑战第30天】本文探讨了Swift应用性能优化,强调理解性能瓶颈、针对性优化和平衡性能与代码质量的重要性。提出优化技巧,包括选择合适数据结构、避免不必要的对象创建、使用缓存、优化算法、减少计算、管理内存、利用多核处理、优化网络请求和界面渲染。通过实际案例分析证明了这些方法能有效提升应用性能和用户体验。开发者应持续关注新技术和方法,以适应不断提升的性能要求。
96 1
|
7月前
|
存储 Swift iOS开发
使用Swift开发一个简单的iOS应用的详细步骤。
使用Swift开发iOS应用的步骤包括:创建Xcode项目,设计界面(Storyboard或代码),定义数据模型,实现业务逻辑,连接界面和逻辑,处理数据存储(如Core Data),添加网络请求(必要时),调试与测试,根据测试结果优化改进,最后提交至App Store或其它平台发布。
145 0
|
7月前
|
存储 API Swift
【Swift开发专栏】Swift函数与闭包的实战应用
【4月更文挑战第30天】本文介绍了 Swift 中函数和闭包的实战应用。首先,函数的基本使用包括定义、参数与返回值、函数类型以及高级技巧如嵌套函数。接着,讨论了闭包的语法,包括无名函数、作为函数参数、简写形式和尾随闭包。最后,展示了函数和闭包在实战中的应用,如排序过滤集合和处理异步任务的回调。
51 0