Hacking With Macos And Swift4

Tags: macOS

Build Amazing Desktop Apps for your Mac

Last updated 2022-01-10 | 4.5

- Place your own amazing desktop apps into the hands of thousands of people through the Mac App Store
- Become completely proficient in macOS app development using the latest version of Apple's language
- Swift 4
- along with best practices and techniques
- Build your own desktop apps for the Mac

What you'll learn

Place your own amazing desktop apps into the hands of thousands of people through the Mac App Store
Become completely proficient in macOS app development using the latest version of Apple's language
Swift 4
along with best practices and techniques
Build your own desktop apps for the Mac
Broaden your coding skills by learning to program on a different Apple platform

* Requirements

* You will need a Mac
* and Xcode 10 which is a free download from the Mac App Store
* and simply a desire to transform your ideas into amazing apps

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 5.0, 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. 

Note: All finished projects and source code have been update to Swift 5.2. So even though some lectures are shown using Swift 4.2, they are currently being re-recorded with the latest Swift 5.2 code - just reference the source code for any update you might need until they are ready very soon.

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 amazing desktop apps? 

  • Want to code your own custom buttons for the new MacBook Pro “Touch Bar”? 

  • This course has all the step by step instruction you need to create awesome apps to submit to the Mac App Store. And the Mac App Store is also a great source of revenue as it only has a fraction of the number of apps that the iOS App Store has, and typically you charge more for a Mac app.

  • Building a Mac desktop app uses the exact same Swift 5 language as iOS apps…there are differences of course from iOS, such as the macOS user interface uses windows instead of screens for an iPhone, but if your coming from iOS, the transition is seamless...an example is on iOS we use a UIImageView, and on macOS we use an NSImageView…simple right?. 

  • The term "Hacking with macOS" means we are "playing" with the Swift language, and using it in unique and interesting ways.

  • Desktop apps are fun to build, simply add your own unique creativity, and follow along in the lectures, and before you know it, you've created a masterpiece.....how cool is it to have your very own creation right on your prized MacBook Pro, and on thousands of other MacBook Pros? 

  • This course makes use of annotations, callouts, diagrams, highlighting, and deep explanations that help make complex subject matter, much easier to grasp, and guides you along the path of the code, each step of the way. 

  • This course also makes the perfect reference tool kit, to be used in conjunction with the Apple docs, so that you can go back and scrub through any of the lectures very quickly to pull out relevant code or instruction that you need, as there's no wasted chatter here, it's strictly on point with Swift 5.0 and macOS. 

Some of the topics that will be covered:

  • Featuring apps built by the award winning Swift programmer - Paul Hudson - HackingWithSwift 

  • Build 18 projects - each one teaching a new aspect of macOS

  • All source code is built with the latest Swift 5.2 code

  • Learn Swift by use of annotations - diagrams - highlighting - callouts

  • Touch Bar - code your own custom touch bar buttons and controls

  • How to use controls - Outlets and Actions 

  • Windows - Controllers - Table views

  • Split view controllers - Toolbars

  • Web views

  • Using delegates and protocols

  • Work with the social framework - FB - Twitter etc.

  • Learn how to refactor code

  • The ins and outs of GCD

  • SpriteKit and Games

  • The new UserDefaults to persist data

  • Adding audio - Animations

  • Using stackView

  • Grid views

  • Learn how to work with JSON data in swift

  • NSUndoManager - Add undo and redo to your apps

  • NSDocument

  • Bindings - Which let you build apps with very little code

  • Learn how to use Auto Layout both in code and in storyboards

  • And a ton more!

  • All videos are recorded in HD for maximum resolution and clarity 

Some Swift programming experience is needed to be able to follow along comfortably.

If you think this might be too difficult for you, think again, and come code along with me in a step by step format....just add a big portion of your own unique creativity, and before you know it, you will have built many amazing apps that you can submit to the Mac App Store. See you inside the course.

Who this course is for:

  • This course is for the Swift developer who wants to lean how to make desktop apps with Swift 4.2 and macOS
  • This is the perfect course if your coming from iOS as we use the same Swift 4.2 language

Course content

22 sections • 109 lectures

Introductions - Course outline Preview 01:37

Intro to hacking with macOS part 1 - Notes for iOS developers Preview 06:57

This lecture will give you an overview of what it's like to code in macOS using the Swift programming language, as well as get a feel for the teaching style in presenting this material. The author of this course, Paul Hudson, teaches programming in a very straight forward way, step by step, line by line, cutting out a lot of the technical jargon. Paul Hudson is widely recognized as one of the premier Swift programmers in the world, and is a sought after lecturer by many companies and business.

Intro to hacking with macOS part 2 - There Is More Than One Way To Do It Preview 06:30

Intro - Storm viewer Preview 01:15

Part 1 - Setting up Preview 13:35

Part 2 - Adding custom controllers Preview 12:48

Part 3 - Introducing outlets Preview 12:06

Part 4 - Showing some table rows Preview 08:40

Part 5 - Loading our images Preview 05:13

Part 6 - Responding to table selection - finishing touches Preview 18:54

Intro - Cows and Bulls Preview 02:09

Part 1 - Designig our User Interface Preview 11:47

Part 2 - Filling in the table view Preview 04:04

Part 3 - Setting up the game Preview 04:27

Part 4 - Marking guesses Preview 11:56

Intro - Social Media Preview 01:04

Part 1 - Setting up Preview 17:31

Part 2 - Wrap up Preview 04:23

Project 4 Intro Preview 02:25

Part 1 - Setting up - Starting with the toolBar Preview 15:36

Part 2 - Layout with stack views Preview 12:40

Part 3 - App Transport Security Preview 03:58

Part 4 - Creating and destroying web views Preview 07:26

Part 5 - Whats selected Preview 13:48

Part 6 - Handling navigation Preview 08:16

Part 7 - Adding Touch Bar controls Preview 19:22

Part 8 - Adding Touch Bar controls continued Preview 11:00

Project 5 Intro Preview 02:14

Part 1 - Setting up - Creating a map view Preview 12:15

Part 2 - Dropping pins Preview 12:03

Part 3 - Keeping score Preview 09:19

Project 6 - Intro Preview 01:15

Part 1 - Setting up - Visual Format Language Preview 05:36

Part 2 - Auto Layout anchors Preview 04:08

Part 3 - Stack Views Preview 02:48

Part 4 - Grid views Preview 05:50

Project 7 - Intro Preview 01:44

Part 1 - Setting up - Designing with collection views Preview 11:48

Part 2 - Selecting items Preview 06:28

Part 3 - Loading images from disk Preview 09:26

Part 4 - Importing files Preview 14:53

Part 5 - Re-arranging photos Preview 10:28

Part 6 - Deleting key presses with keyUp Preview 05:30

Part 7 - Optional content if you want to continue - Core Animation Preview 17:31

Part 8 - Making a video composition Preview 13:21

Project 8 - Intro Preview 02:30

Part 1 - Setting up - Creating a grid of buttons Preview 16:01

Part 2 - Generating layouts Preview 09:19

Part 3 - Click to win Preview 03:52

Part 4 - Game over Preview 13:27

Part 5 - Finishing touches Preview 05:22

Project 9 Intro Preview 01:23

Part 1 - Performing selectors in background - Running arbitrary code on differen Preview 10:38

Part 2 - Running delayed code - Concurrent execution Preview 08:28

Project 10 - Intro Preview 02:55

Part 1 - Setting up - The art of nothingness Preview 07:13

Part 2 - Creating a settings screen Preview 16:40

Part 3 - Saving and loading settings Preview 13:22

Part 4 - Parsing JSON Preview 07:54

Part 5 - Updating the User Interface Preview 17:56

Part 6 - Creating more menu items Preview 07:15

Project 11 - Intro Preview 01:22

Part 1 - Setting up - Cleaning up the Xcode template Preview 04:26

Part 2 - Bubbles bubbles everywhere Preview 08:14

Part 3 - Setting the universe in motion Preview 09:40

Part 4 - Adding some difficulty Preview 03:29

Part 5 - Gotta pop em all Preview 10:43

Project 12 Intro Preview 01:07

Part 1 - Setting up - Constructing a test environment Preview 06:29

Part 2 - Basic animator proxy use Preview 04:16

Part 3 - Animating layers Preview 04:46

Part 4 - Advanced layer animation Preview 07:57

Project 13 Intro Preview 03:39

Part 1 - Designing the user interface Preview 19:16

Part 2 - Designing the user interface continued Preview 08:02

Part 3 - Populating the popup buttons Preview 06:13

Part 4 - Drawing images and gradients Preview 13:26

Part 5 - Rendering the caption Preview 14:38

Part 6 - Importing a screenshot Preview 10:46

Part 7 - Exporting the finished product Preview 05:46

Part 8 - NSDocument and NSCoding Preview 10:36

Part 9 - NSDocument and NSCoding continued Preview 10:23

Project 14 Intro Preview 01:45

Part 1 - Setting up - Creating the game world Preview 10:28

Part 2 - Creating a custom node Preview 08:22

Part 3 - Click click bang Preview 07:31

Part 4 - Adding some polish Preview 12:50

Project 16 Intro Preview 02:21

Part 1 - Set up for success Preview 15:00

Part 2 - Manipulating arrays with NSArrayController Preview 06:18

Part 3 - Binding everything Preview 07:03

Part 4 - Creating an emoji formatter Preview 07:27

Part 5 - Presenting a credits screen Preview 09:34

Project 17 Intro Preview 01:35

Part 1 - Setting up - A grid of balls Preview 12:55

Part 2 - Matching colors Preview 12:15

Part 3 - Making room for more Preview 08:28

Part 4 - Tracking score Preview 08:42

Part 5 - A puff of smoke Preview 05:57

Project 18 Intro Preview 01:43

Part 1 - KVC and KVO Preview 08:52

Part 2 - The imperial march Preview 10:04

Part 3 - Property observers and KVO Preview 04:41

Part 4 - Dependent properties and formatters Preview 11:00