【译】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应用程序开发的原因

我花了几年时间 在developingiOSappsteaching 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. 给我发电子邮件到:harryworld@gmail.com
  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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,019评论 4 62
  • 所有拍孙悟空的电影,我都看,不管拍得如何,无论是从电影制作的角度,还是从剧本的角度。 喜欢就是喜欢,我知道我喜欢的...
    棉花2016阅读 259评论 0 0
  • 梧桐zyd阅读 249评论 0 1