【译】100天OSX开发视频教程

原文:https://medium.com/macos-app-development/100-days-of-osx-development-e61591fcb8c8
原文作者:Harry Ng

100天OSX开发视频教程

学习使用Swift构建Mac App

喜欢学习任何东西,保持专注和定期练习是最好的方法。这是一个关于我在过去4个月内如何学习OSX Development的故事。

Mac应用程序开发的原因

我花了几年时间 在developing 、iOS、 apps 和teaching web development classes。大约4个月前,我被授予了一个项目,从事一个创业主意,在那里它作为一个Mac应用程序。在那一刻,我认为它可以由Swift构建,Cocoa框架应该类似于iOS上的Cocoa Touch。我接受了这个项目,花了一个月的时间创建了第一个Mac App。在此期间,我正在寻找有关OSX开发的一些教程。资源不如iOS那么丰富。我认为将我的学习作为共享资源可能是一个好主意。今天,我刚刚创作了100部关于我每天学到的视频。

查看我在 YouTube上的教程系列

开发Mac App,你需要准备什么

  • Xcode
  • Mac OS

开发Mac应用程序之前,您需要已经拥有Mac电脑。您不需要为自己装备另一台设备,如iPhone。有了个人证书,您可以稍后在Apple应用商店部署应用程序时注册Apple开发者帐户。

相反,像学习任何其他事情一样,耐心和一致性在开展OSX开发方面非常重要。你会看到为什么在本文的后面部分。

为什么很好的关注Mac应用程序?

苹果生态系统的优点之一是开发人员通过开发有用的应用程序获得更多的收入。为了比较其iOS版本和Mac版本的相同产品,后期通常会收取3至4倍的费用。某些类型的待办事项列表应用程序,日历或邮箱在维持开发团队方面得到很好的支付。一些我真正喜欢并使用它的Mac应用程序包括Toggl,Evernote,Sketch,Dropbox,1Password,Clear,FantasticCal。其他应用程序,如Bartender, Caffeine, Screenflow,RescueTime是我的首选工具。

OSX开发容易学习吗?

不。

我以为会像iOS开发一样。如果你看起来像TextField,Labels或Slider这样的基本控件,那就可以了。当涉及到NSCollectionView(在WWDC 2015中更新很多),NSTableView和Data Bindings有很多差异。

简单地说,虽然类名和功能签名看起来类似,但它们的结构完全不同。在OSX中,NSCollectionView和NSTableView是可滚动的,但它们不是NSScrollView的子类。相反,它们是滚动视图的层次结构中的子视图(称为documentView),然后是剪辑视图。 (Terminologies start to add up)。

数据绑定是OSX中长期以来使用的另一个概念。它现在被视为传统支持。 (在NSCollectionView的修订实现的文档中显示)。实际上,使用数据绑定还有很多例子。

除了结构差异,代码引用另外还有一个很大的挑战。像任何其他编程经验一样,我在谷歌中找到答案。它有时会转到stackoverflow,但它总是去一些旧的论坛,这可能是从2000年(16年前)开始运行的。不要指望在那里找到任何语法高亮。缩进已经是一个大拇指。在这种情况下,甚至不要期望编写Swift编写的例子。幸运的是,我开始将iOS开发作为Objective-C开发者。我仍然可以阅读Objective-C,但主要是写Swift代码。

建立Mac应用程序有什么好的资源?

我在OSX Dev上查找了很多资源。有很多资源。但是,其中许多是分散的。他们出现在10 - 15年。现在我已经知道一些OSX开发人员(加入我们在Cocoa Devs),他们在这个领域工作了10多年。他们都有比我更好的经验,这些年来的起伏不定。
在这种情况下,学习Cocoa框架的结构是非常重要的。在查看资源时,您需要先确定时间方面的相关性。例如,在(join us here at Cocoa Devs)中,您可能希望确保内容与2015年的更新相关。我发现很多人都有类似的问题,因此我为NSCollectionView 2015创建了一个单独的播放列表。没有特别的顺序,这些是我参考的其他资源。

  1. WWDC  - 了解OSX是最直接的方法。作为iOS开发人员,最好从iOS和OSX(2014)之间的会话233共享代码开始,并在2013年开始等待。我在2011年至2015年间观看了超过15个OSX会话。

  2. The Big Nerd Ranch Guide  - 这几乎是市场上最结构化的指南。它更新到Swift 1.x,并有一个伴侣Github回购最新的Swift更新。作为从Objective-C到Swift的端口,您将看到许多部分都使用Nib而不是Storyboards,以及其他一些传统方式。

  3. Ray Wenderlich  - 虽然博客的主要焦点是iOS,这是时尚,它有一些文章涵盖了OSX的一些基础概念。

下一步是什么

因为我刚刚制作了100部影片,每天都包括假期,我正在视频系列中寻找新的想法。在这里,我想尝试一下实验,灵感来自 Natasha the Robot.。

500$,我可以为你创建Mac应用程序。

怎么工作?

  1. First in, first out
  2. 给我发电子邮件到:[email protected]
  3. 邮件主题:“I have a Mac App idea”
  4. 将应用程序的想法包含在3个句子和一个线框中
  5. 我会回复每个人的电子邮件,一旦我决定在您的项目上工作,我将与您建立Skype通话
  6. 付款:先250$,完成后再付250$
  7. 设计:我将主要使用本机UI组件,如果您也有设计,可以开放讨论。
  8. 你拥有代码,但是我将在我的博客中看到一些视频,并展示一些功能。
  9. 我有权选择项目进行工作。

让我知道如果你有任何问题,我会回答这里作为回应。

Topics of the tutorials

To conclude this post, I am going to list the topics I have created.

  1. Storyboard
  2. Auto Layout
  3. NSCollectionView
  4. NSTableView
  5. NSTableView — Add a row
  6. Array Controller
  7. Menu Bar
  8. Menu Bar — Event Monitoring
  9. NSOutlineView
  10. NSOutlineView — Drag & Drop
  11. NSOutlineView — Undo Manager
  12. NSOutlineView — Delegate Methods
  13. NSAlert
  14. UI Testing
  15. Unit Testing
  16. ContainerView
  17. ContainerView — NSViewController Lifecycle methods
  18. NSNotification
  19. NSNotification Best Practices
  20. NSPopover
  21. NSPopover Actions
  22. NSPopover w/ NSNotification UserInfo
  23. Window Controller
  24. Tab View Controller
  25. Split View Controller
  26. NSToolbar
  27. NSToolbar Transparency
  28. Cocoa Binding Part 1/3
  29. Cocoa Binding Part 2/3
  30. Cocoa Binding Part 3/3
  31. NSCollectionView 2015 — Flow Layout
  32. NSCollectionView 2015 — Selection & Highlight
  33. NSCollectionView 2015 — Grid Layout
  34. NSCollectionView 2015 — Custom Layout
  35. NSCollectionView 2015 — Header and Footer
  36. NSCollectionView 2015 — Custom Title for Header and Footer
  37. NSCollectionView 2015 — Set Item Value / Move Item
  38. NSCollectionView 2015 — Insert Item
  39. NSCollectionView 2015 — Delete Item
  40. NSCollectionView 2015 — Scrolling
  41. NSCollectionView 2015 — Modify Text Field inline
  42. NSCollectionView 2015 — NSTrackingArea
  43. Event Handling — Key Events
  44. Event Handling — Mouse Events
  45. Event Handling — Gesture Recognizer
  46. NSView
  47. Core Animation — 3D Drawing
  48. Event Handling — Custom Gesture Recognizer
  49. Font System
  50. CocoaPods
  51. CocoaSwiftPlayer — Get Started
  52. CocoaSwiftPlayer — Start with Storyboard
  53. CocoaSwiftPlayer — Setup Controls
  54. CocoaSwiftPlayer — Start Coding
  55. CocoaSwiftPlayer — Import Songs
  56. CocoaSwiftPlayer — Display Songs
  57. CocoaSwiftPlayer — Play Song
  58. CocoaSwiftPlayer — Next Rewind
  59. CocoaSwiftPlayer — Repeat Play
  60. CocoaSwiftPlayer — Shuffle Play
  61. CocoaSwiftPlayer — Show Song Progress
  62. CocoaSwiftPlayer — Show Song Title
  63. CocoaSwiftPlayer — Playlist
  64. CocoaSwiftPlayer — Playlist in Realm
  65. CocoaSwiftPlayer — Add to Playlist
  66. CocoaSwiftPlayer — Switch & Rename Playlist
  67. CocoaSwiftPlayer — Delete using Menu
  68. CocoaSwiftPlayer — Status Bar App
  69. CocoaSwiftPlayer — Visual Effects
  70. CocoaSwiftPlayer — Wrapping Up
  71. CocoaSwiftPlayer — Bonus
  72. NSOutlineView — Insert/Remove/Move
  73. CocoaSwiftPlayer — AppIcon & Release
  74. NSTimer
  75. NSUserDefaults
  76. Multiple Windows
  77. CocoaSwiftPlayer — Bonus 2
  78. NSCollectionView 2015 — Drag & Drop
  79. NSCollectionView 2015 — Insert / Delete
  80. NSTableView — Sorting
  81. NSTableView — Searching
  82. NSCollectionView 2015— Dragging Image
  83. AutoLayout — NSLayoutConstraint
  84. AutoLayout — SnapKit
  85. NSTableView — Searching without ArrayController
  86. NSCollectionView 2015 — NSScrollView
  87. NSCollectionView 2015 — NSScrollView Part 2
  88. NSCollectionView 2015 — Design Tips
  89. NSCollectionView 2015 — IBDesignable
  90. NSTextField
  91. NSTextField Subclass
  92. NSTextField vs NSTextView
  93. NSControl — NSPopUpButton
  94. NSControl — NSComboBox
  95. NSControl — NSTextView
  96. NSControl — NSSlider
  97. NSControl — NSDatePicker
  98. NSControl — NSButton — Radio Button Group
  99. NSControl — Checkbox and Submit the Form
  100. NSImageView
  101. Event Handling — More on Gesture Recognizers

附: 这仅是一个超过100个的视频。 我希望你喜欢它。
附2: 有点不高兴,在苹果特别活动中没有OSX的更新,因此希望这篇文章为每位读者带来一些享受。

喜欢这篇文章? 好的,关注我在Twitter和Medium上 @harryworld

如果你“推荐”这个帖子也会很酷。

你是父母与新生儿吗? 关心你的宝宝,想捕捉自己的成长? 你应该尝试Moments

你可能感兴趣的:(【译】100天OSX开发视频教程)