学习Swift:经验丰富的开发人员指南_cxu0262的博客-程序员秘密

技术标签: wwdc  移动开发  swift  

因此,您的老板希望您学习iOS应用开发。 或者,也许您有一个要处理的应用程序侧项目。 你从哪里开始?

学习新平台和编程语言可能会令人生畏。 即使您尝试学习基础知识,也会不断发布新技术,从而很难保持最新状态。 感觉就像您在跑步机上跑步。

[构建移动应用程序的方法不止一种。 查看25个用于快速构建移动应用程序的简单工具 | 通过InfoWorld的App Dev Report新闻通讯了解编程中最热门的话题。 ]

在本指南中,您将学习从Apple的开发文档,最佳教程以及针对Swift和iOS新手的经验丰富的开发人员的最佳课程和书籍。 您还将学习如何最好地利用Apple的技术资源,以及如何通过其他教程,课程和书籍进一步提高技能。

我专门为有经验的开发人员整理了本指南,他们希望快速学习iOS开发。 如果您不熟悉编程,则应该阅读“ 学习Swift:15个适合iOS开发的初学者友好资源 ”中讨论的课程,书籍和其他资源。

Apple的文档和资源  

开始制作iPhone应用程序时,您需要参考Apple的各种API和SDK的文档。 苹果还发布了许多开发指南,技术说明和WWDC视频,这对于任何iOS或Mac开发人员来说都是必不可少的。 在WWDC 2018上,Apple宣布将改变您学习如何使用新API的方式,并且将不再支持其较早的编程指南。

苹果编程指南

苹果已经发布了许多编程指南,这是了解如何在iOS中利用不同技术的好方法。

您应该阅读的入门指南是《 View Controller编程指南》 ,《 Table View编程指南》 ,《 View编程指南》和《 Auto Layout编程指南》

您可以通过使用Google或在Apple的开发人员搜索网站上搜索主题以及“编程指南”来找到更多指南。 Google的搜索结果比Apple的搜索结果更好和更快,而Apple的搜索并不总是给出最相关的结果。 Apple的搜索更适合示例代码或WWDC视频。

Apple开发人员文档

苹果在WWDC 2018上放弃了对其所有编程指南的支持,转而使用新的Apple开发人员文档站点

无论您是Apple的新开发人员还是长期工作的开发人员,都必须通过新的Documentation网站学习如何查找信息。 查阅View ControllerNavigation Controller参考以获得详细的见解,或下载示例代码,并通过有关Metal图形渲染的详细教程了解API,因为OpenGL ES在iOS 12上已被弃用。

您可能会发现一些主题比较稀疏,例如Table View文档 。 您应该阅读《 Table View编程指南》 ,因为它包含了深刻的见解,即使从2018年6月起不再受支持。图表,代码示例和说明也不错,但是缺少许多主题。 我的建议是将错误报告提交给Apple,以帮助填充缺少文档的区域。

WWDC视频

苹果每年都会向世界传授iOS,macOS,tvOS和watchOS的新功能。 您将需要深入研究这些视频,以了解发生了什么变化,以及如何开始。

较早的WWDC视频(尤其是在掌握自动布局方面)是一个不错的起点。 观看更新的自动版式视频将帮助您快速了解与新硬件有关的新主题,例如iPhoneX。在更新的视频上,Apple提供了成绩单,幻灯片,示例代码和相关视频。

Apple技术说明和技术问答

现在,“技术说明”和“技术问答”都属于“ 文档档案库” ,如果您正在构建应用程序,则该档案库包含大量信息。 目前尚不清楚苹果在淘汰这些巨大资源后打算做什么,但是在可预见的将来,它们仍然是有意义和有用的。

技术说明提供了文档中未提供的其他详细信息,以及开发人员可能遇到的任何极端情况。 例如,如果您需要在应用程序中接受付款并且面临挑战,则“ 应用程序内购买常见问题解答”是一个很好的资源。

技术问答已经回答了开发人员提出的特定问题。 例如, 当与XCTest一起使用单元测试时 ,您可能已经在Xcode中看到了一条隐秘的错误消息,或者想知道如何减小应用程序的大小

苹果开发者论坛

Apple在Apple开发人员论坛上提供帮助。 有时,您可以找到问题的答案或在StackOverflow上找不到的详细信息。 提出问题或搜索Apple开发人员论坛的好处是,有时您可以从Apple员工那里获得反馈。

堆栈溢出

iOS开发的另一个重要资源是StackOverflow 。 初学者可能很难提一个问题,但是如果您可以提供足够的详细信息,则可以得到比Apple Developer Forums更快的答复。

iOS教程,视频和课程  

苹果提供了很好的文档,但是如果不了解如何做可能很难遵循。 在线文本教程,视频教程和课程将为您提供一个窗口,让您了解专家开发人员如何构建功能甚至整个应用程序。 您将了解为什么要以自己的方式进行编码,以及在事情无法按预期工作时该怎么做。

App Coda

Simon Ng是App Coda的创建者,该应用程序包含许多针对iOS的深入教程。 在过去的六年中,App Coda每周都在发布有关iOS相关主题的教程,这是一个很好的参考资源。 您可以获取《 用Swift入门的iOS 11入门数字版》一书,在那里您将学习如何为iPhone X创建应用程序。

设计+规范

Meng To创建了一本漂亮的交互式书, Design + Code ,其中包括代码,练习和视频。 作为基础,您将学习设计,版式和颜色,以便与设计师进行交流。 使用设计背景,您可以获取Sketch的模型,并将资源直接导出到Xcode,以便在iOS应用中使用。 下载Design + Code应用程序以获得完整的学习体验。

用Swift入侵

保罗·哈德森(Paul Hudson)是Swift黑客背后的多产作家。 他在iOS,Swift,MacOS,Apple Watch,服务器端Swift等上出版了许多书籍 ,视频课程和免费文章

兰达学校

Lambda学校通过免费增值训练营的教育方式颠覆在线大学。 试用免费的iOS开发101简介 ,并在线申请为期30周的iOS开发计算机科学计划。 该程序是由为Apple的“每个人都可以编写代码”程序创建材料的一些人员教授的。

让我们来构建那个应用程序

Brian Voong在YouTube上教授iOS应用开发。 他的“ 让我们构建那个应用程序” (110k个以上的订户)引导您逐步完成构建流行应用程序的UI和逻辑的过程。 您将学习如何从头开始设计和编码iPhone应用程序UI,而无需使用Xcode的Interface Builder。 在Brian的在线课程中 ,您还将学习如何设置Core Data以及如何使用RESTful Web服务后端来增强您的应用程序。

RayWenderlich.com

Ray Wenderlich拥有用于iOS应用程序开发最全面的网站 。 您将找到有关每个iOS主题(以及其他许多主题)的最新教程和指南。 从您的第一个Swift + iOS 11应用程序课程开始,或深入研究可以在自己的应用程序中使用的不同高级主题 (应用程序内购买,联网,调试等)。 雷的团队每周都会发表多篇文章。 浏览无休止的免费教程,最新书籍和视频指南。

斯坦福的iOS课程

NeXT前计算机员工(曾与史蒂夫·乔布斯(Steve Jobs)合作)的保罗·海加蒂(Paul Hegarty)现在在斯坦福大学任教。 您可以通过iOS上的iTunes University或Mac上的iTunes(播客)参加斯坦福大学的大学课程,即“ 使用Swift开发iOS 11应用” 。 该课程是免费提供的,并且已定期更新,但是它要求您具有C和面向对象编程的先验经验。

Udemy课程

乌迪米(Udemy)提供丰富的课程,其质量可以高不可攀。 London App Brewery的Angela Yu是一位您应该结帐的讲师。 Angela在在线课程iOS 11和Swift 4 –完整的iOS应用程序开发训练营中,通过现场研讨会讲授了行之有效的资料。 了解如何开始使用Swift,iOS,设计,Firebase甚至App Store营销。

iOS开发书籍

iOS上有很多书籍,您应该获得其中几本作为参考,或者在遇到困难时查找技术。 以下所有书籍都是iOS 11的最新版本,应于2018年秋季更新至iOS 12。

iOS学徒

雷·温德利奇(Ray Wenderlich)的《 iOS学徒 》( iOS Apprentice)书可帮助您开始进行iOS 11应用开发。 您将学习如何从头开始构建应用程序,还将学习语言和API的新方面。 本书采用具有逐步指导的教程格式,可指导您完成在应用中创建各种功能的过程。

iOS 11教程

雷·温德利奇(Ray Wenderlich) 的Tutorials撰写的iOS 11新功能之旅,了解如何将ARKit,Core ML,Vision,拖放等功能集成到您的应用程序中。 在这本中级书中,从头开始构建功能iPhone应用程序时,您将深入了解API。

使用Swift的iOS 11编程基础

Matt Neuburg的Swift初学者友好型iOS 11编程基础知识将向您介绍Swift和Xcode开发工具。 您还将学习iOS的基础知识,并了解iOS的工作原理。

编写iOS 11

马特·诺伊堡(Matt Neuburg)的后续中级程序设计iOS 11本书对iOS API进行了更深入的介绍,涉及滚动视图,表格视图,文本,弹出窗口,拆分视图等等。 您将学习如何使用框架来控制声音,视频,地图和传感器。 本书共有1172页,并在Github上提供了更新的源代码,您可以在这两个主题之间跳转,同时使用本书作为指南和参考。

总结思想

最后一点给你。 每当我需要快速学习iOS主题时,请按照以下步骤操作。 在进行深入研究时,请务必记下有用的链接和代码示例的注释,并写下问题以供日后跟进。

  1. 阅读编程指南(或新的Apple Developer文档文章)
  2. 观看所有相关的WWDC视频(2012-2017)
  3. 玩示例代码并查看WWDC的演讲幻灯片
  4. 在Xcode游乐场或Xcode项目中尝试代码
  5. Google使用关键字搜索教程(例如“ swift number formatter tutorial”)

拥有这么多免费的大量可用资源,这只是寻找时间来学习iOS而使您退缩的问题。 如果您在入门时遇到麻烦,请确保您可以每周(最好每天)投入时间来发现如何构建iOS应用。

From: https://www.infoworld.com/article/3284445/learn-swift-a-guide-for-experienced-developers.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cxu0262/article/details/106257528

智能推荐

Qt之QSS:带CheckBox的QGroupBox及其样式设计_qgroupbox qss_ooMelloo的博客-程序员秘密

前言在引入QGroupBox的QSS时,会出现下图中的三种问题,导致界面显示极其丑陋。所以要改变QSS设置使界面更bf~图a 左边显示问题图b 标题下沉问题图c 不对称下面是两个方式改变QSS让界面更加舒服~ 顺便在原生QGroupBox基础上添加了checkBox来实现功能。一、QSS设置 普通的QGroupBox是不带Chec...

android 系统数据库Settings属性_二十岁了还没有去过星巴克的博客-程序员秘密

frameworks/base/packages/SettingsProvider/res/values/defaults.xmldefaults.xml 中是一些系统默认属性,用于在系统第一次开启时加载。例如第一次开机 WiFi 就是默认关闭的。<bool name="def_wifi_on">false</bool>/frameworks/base/core/...

关于智能码控门禁系统项目的二维码验证问题_a693490554的博客-程序员秘密

现在这个项目的话网页端做完了,网页端实现的就是管理员登录,然后可以添加访客,访客添加完后回对应访客生成一个二维码,访客可以拿着这个二维码到门禁系统扫描,如果验证成功就可以开门,但是现在我不太懂扫描二维码到上传服务器的那部分。不知道学长是怎么想的,以下是我的想法:         扫描二维码后这个二维码上传到服务器的一个指定文件夹下,我可以编写一个程序,不断的检查这个文件夹下的更新,如果有二维码

mapview使用_使用SwiftUI的Mapview_weixin_26638123的博客-程序员秘密

mapview使用Finding places, navigating our way, or simply checking what’s around — these are essential things that smartphones can help with. This year Apple added maps functionality to the SwiftUI frame...

视频通信为何能够在疫情之下脱颖而出?_enghouse vidyo_dupp29的博客-程序员秘密

@[TO(本篇文章翻译自Enghouse首席科学家Alex Eleftheriadis,将以他的口吻叙述。)正文前言:本篇文章仅表达我的个人观点,不代表我所关联的任何公司的立场。几天前,我的好朋友Alex Gouaillard发布了一条关于2014年颁发的一系列奖项的推特:WebRTC先锋奖。第四届WebRTC会议和博览会在佐治亚州的亚特兰大城举行,共向64人颁发了这些奖项。我也是获奖者之一,让我更加高兴的是,颁奖的这一天也是我的生日。对于大多数人来说“WebRTC”只是一个没有任何意义并且晦涩难

基于frp原理实现的轻量级内网穿透工具frp-python_esp32 frp_usualheart的博客-程序员秘密

frp-python是基于frp原理实现的轻量级python版frp,frp-python具有非常简洁的设计,在速度方面甚至优于frp。只需稍加修改frpc的代码,甚至可以在esp-32上部署一个frpc客户端!

随便推点

ORA-01019_freebirdxu的博客-程序员秘密

ORA-01019ORACLE 原文:ORA-01019: unable to allocate memory in the user side Cause: The user side memory allocator returned error.Actio

byte Byte 字节 字符_shanshang的博客-程序员秘密

1 、Byte 与 byte的区别?    byte是基本类型,是编译器可以直接识别的,属于java语法方面的;    Byte是一个java包中的一个类,编译器不认识Byte    byte:存储的数据范围?    byte 表示的数据 占据一个字节,即一个英文字符或者一个数字字符,不能存放汉字,汉字占2个字节byte b = 'c';(正确)byte c = 'cd';(错...

Vhr项目分析(一) 前端Home.vue_一页居士的博客-程序员秘密

前端 Home.vue分析(一)element-ui简析(二)element-ui组件的大体架构(三)上方栏目布局(四) 侧方栏目布局vhr项目地址:https://github.com/lenve/vhr项目作者:https://blog.csdn.net/u012702547(一)element-ui简析   该前端文件中使用的element-ui组件如下:   el-contain...

调试宏定义_p.c.wang的博客-程序员秘密

调试宏定义的方法:1:通过gcc -E 产生预编译后的源代码,所有的预编译动作都已完成,如头文件的插入,宏定义的展开example:#include stdlib.h>#include stdio.h>#define MACRO1(x) (++(x))#define MACRO2(x) (MACRO1(x)+100)#define MACRO3(x) (MACRO2(x)+200)i

植物大战僵尸修改存档文件-C1认证_小哼快跑的博客-程序员秘密

1. 游戏下载2. 编辑器下载3. 详解首先我们打开游戏,创建一个用户,开始一把游戏后找到游戏存档地址 1、打开C盘,查看-隐藏项目 2、C:\ProgramData\PopCap Games\PlantsVsZombies\userdata 3、依次打开后,会有个users.dat,是我们用户数据所在 4、user1.dat是我们游戏的存档使用二进制编辑器打开user1.dat文件多次测试,根据游戏进度和存档数据变化,发现04的位置是关卡存储位置,这里使用的是16进制,我

Android开发笔记整理_Bart_G的博客-程序员秘密

1. Layout相对布局常用的是RelativeLayout(相对布局) 属性 含义 android:layout_above 将该控件的底部至于给定ID的控件之上 android:layout_below 将该控件的顶部至于给定ID的控件之下 android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐 android:layou

推荐文章

热门文章

相关标签