• Post category:StudyBullet-4
  • Reading time:17 mins read




The Hacking with macOS tutorial series is designed to make it easy for beginners to get started coding for macOS

What you will learn

 

Place your own amazing desktop apps into the hands of thousands of people through the Mac App Store

 

Become completely proficient with Swift 3 and macOS app development

Description

This course is produced from the “Hacking with macOS” series of tutorials, which are written and authored by the award winning Swift programmer, Paul Hudson,  and these videos were made with his permission and support. You can always be guaranteed you’re learning the latest and greatest Apple technologies in the Hacking with Swift tutorials. Here you learn smart, powerful, and expressive Swift 3, the way it was meant to be written. You learn while you make real-world desktop apps, which means you get to apply your new skills immediately and see them work in context. Hacking with Swift is one of the most popular Swift tutorial series online, which uses an approach that teaches you Swift programming incredibly quickly, and you end up with a huge library of finished projects that are yours to develop further, or ship to the Mac App Store. Paul has received high praise from the creator of the Swift language, Chris Lattner, for his outstanding method of teaching, and series of Swift tutorials. And working together with iOS developer Steve DeStefano, the Hacking with Swift series of programming training videos are simply the fastest way to learn how to code in the Apple eco-system.

Check out all of Paul Hudson’s Swift tutorials and books at HackingWithSwift – from beginner to pro, Paul will teach you to write Swift code in very little time.

  • Want to learn how to build an amazing desktop app? This free tutorial will show you how.

 


Get Instant Notification of New Courses on our Telegram channel.


English
language

Content

Paul Hudson and Hacking With macOS – Tour of the HackingWithSwift.com site

Introductions – Course outline

Inro to Hacking with macOS – Notes for iOS devs – More then one way to do it

Intro to hacking with macOS part 1 – Notes for iOS developers
Intro to hacking with macOS part 2 – There Is More Than One Way To Do It

Xcode walk through

Xcode 8 walk through

The Swift 3 Language

Variables – Part 1 – Data types – Type annotation – Type inference
Variables – Part 2 – Data Types – Type Annotation – Type Inference continued
Operators – Part 1 – Unary, Binary, Ternary, Assignment, and Remainder operators
Operators – Part 2 – Increment, Decrement, Minus Unary, Compound Assignment
Operators – Part 3 – Range, and Logical operators
Optionals
Structs
Computed properties
Property Observers
Extensions
Protocols Part 1 – Syntax and declaring – Adding functions
Protocols Part 2 – Adding properties -Delegation – Static keyword
Enums Part 1 – Raw values – Associated values
Enums Part 2 – Implicitly assigned raw values
Enums Part 3 – Initializing – recursive enums
Generics Part 1
Generics Part 2
Type Casting – Part 1 – The “as” and “is” operators
Type Casting – Part 2 – Using AnyObject and Any
Nested Types
Tuples part 1 – Using and accessing values
Tuples part 2 – Using them with functions and optionals
Closures Part 1 – Syntax and Optimizations
Closures Part 2 – Trailing Closures
Closures Part 3 – Capturing Values

Control Flow

if statement – else if – nested if’s
Switch
for in loop
while and repeat while loops

Collections

Arrays part 1 – Declaring and initialiizing an array
Arrays part 2 – Accessing and modifying
Arrays part 3 – More of accessing and modifying
Dictionaries – Part 1
Dictionaries – part 2
Sets Part 1 – Declaring and initializing sets
Sets Part 2 – Accessing and modifying sets

Functions

Functions – Part 1 – Declaring – Syntax – Return
Functions Part 2 – Working with functions
Functions Part 3 – Working with more functions
Functions Part 4 – Nested Functions

Strings

Strings Part 1 – Literals – mutability – interpolation – characters
Strings Part 2 – Accessing and modifying strings
Strings Part 3 – Comparing strings
Strings Part 4 – Even more of accessing and modifying strings

Classes – Properties – inits – Subclassing

Classes – initializers – properties
Subclassing Part 1
Subclassing Part 2

Whats New in Swift 3.0

Part 1 – Depreciations – Method and Parameter names – Omit needless words
Part 2 – Lowercase enums and properties – Foundation Framework namings
Part 3 – Importing C Funcs – Dispatch – KVO – Verbs and Nouns

Project 1 – Storm Viewer

Intro – Storm viewer
Part 1 – Setting up – splitting a window in two
Part 2 – Adding custom controllers
Part 3 – Designing our interface
Part 4 – Introducing some outlets
Part 5 – Showing some table rows
Part 6 – Loading our images
Part 7 – Responding to table selection
Part 8 – Finishing touches

Project 2 – Cows and Bulls

Intro – Cows and Bulls
Part 1 – Setting up – designing our user interface
Part 2 – Filling in the table view
Part 3 – Setting up the game
Part 4 – Marking guesses

Project 3 – Social Media

Intro – Social Media
Part 1 – Setting up – subclassing NSSplitViewController
Part 2 – Creating a toolBar – wrapup

Project 4 – Grid Browser

Project 4 Intro
Part 1 – Setting up – Starting with the toolbar
Part 2 – Layout with stack views
Part 3 – App Transport Security
Part 4 – Creating and destroying web views
Part 5 – Whats selected?
Part 6 – Handling navigation
Part 7 – Adding Touch Bar controls
Part 8 – Adding even more Touch Bar controls

Project 5 – Capital Cities

Project 5 Intro
Part 1 – Setting up – creating a mapView
Part 2 – Dropping pins
Part 3 – Keeping score

Project 6 – Auto Layout

Project 6 – Intro
Part 1 – Visual Format Language (VFL)
Part 2 – Auto Layout Anchors
Part 3 – Stack views
Part 4 – Grid views

Project 7 – Photo Memories

Project 7 – Intro
Part 1 – Setting up – Designing with collection views
Part 2 – Selecting items
Part 3 – Loading images from disk
Part 4 – Importing files
Part 5 – Re-arranging photos
Part 6 – Deleting key presses with keyUp
Part 7 – Optional content if you want to continue – Core Animation
Part 8 – Making a video composition

Project 8 – Odd One Out

Project 8 – Intro
Part 1 – Setting up – Creating a grid of buttons
Part 2 – Generating layouts
Part 3 – Click to win
Part 4 – Game over
Part 5 – Finishing touches

Project 9 – GCD

Project 9 Intro
Part 1 – Performing selectors in background – Running on different threads
Part 2 – Running delayed code – Concurrent execution

Project 10 – WeatherBar

Project 10 – Intro
Part 1 – Setting up – The art of nothingness
Part 2 – Creating a settings screen
Part 3 – Saving and loading settings
Part 4 – Parsing JSON
Part 5 – Updating the User Interface
Part 6 – Creating more menu items

Project 11 – Bubble Trouble

Project 11 – Intro
Part 1 – Setting up – Cleaning up the Xcode template
Part 2 – Bubbles bubbles everywhere
Part 3 – Setting the universe in motion
Part 4 – Adding some difficulty
Part 5 – Gotta pop em all

Project 12 – Animations

Project 12 Intro
Part 1 – Setting up – Constructing a test environment
Part 2 – Basic animator proxy use
Part 3 – Animating layers
Part 4 – Advanced layer animation

Project 13 – Screenable

Project 13 Intro
Part 1 – Designing the user interface
Part 2 – Designing the user interface continued
Part 3 – Populating the popup buttons
Part 4 – Drawing images and gradients
Part 5 – Rendering the caption
Part 6 – Importing a screenshot
Part 7 – Exporting the finished product
Part 8 – NSDocument and NSCoding
Part 9 – NSDocument and NSCoding continued

Project 14 – Shooting Gallery

Project 14 Intro
Part 1 – Setting up – Creating the game world
Part 2 – Creating a custom node
Part 3 – Click click bang
Part 4 – Adding some polish

Project 15 – NSUndoManager

Project 15 Intro
Part 1 – Setting up – Reversible changes
Part 2 – Doubling up methods

Project 16 – Bookworm

Project 16 Intro
Part 1 – Set up for success
Part 2 – Manipulating arrays with NSArrayController
Part 3 – Binding everything
Part 4 – Creating an emoji formatter
Part 5 – Presenting a credits screen

Project 17 – Match Three

Project 17 Intro
Part 1 – Setting up – A grid of balls
Part 2 – Matching colors
Part 3 – Making room for more
Part 4 – Tracking score
Part 5 – A puff of smoke

Project 18 – Bindings

Project 18 Intro
Part 1 – KVC and KVO
Part 2 – The imperial march
Part 3 – Property observers and KVO
Part 4 – Dependent properties and formatters

Frequent Flyer Club Hacking with macOS

Frequent Flyer Club Hacking with macOS
Paul Hudson and Hacking with macOS – Tour of the HackingWithSwift.com site