My favorite Xcode 11 features
Catalyst
Catalyst is awesome because it allows for one codebase for MacOS, iPadOS, and IOS. When you create an iPad app you automatically can create a Mac app out of your iPad app. Catalyst is special because of its backend. It creates a wrapper around AppKit so that UIKit can interact with it when running on MacOS. You as the developer can tweak your app for macOS, you can add menubar options, and tweak the way the UI looks on the Mac. Some may argue that this will allow for apps that are meant for touchscreen to make it to the Mac, however the beauty of Catalyst is that you can customize the behavior depending on the OS. for example on the Mac you can create gestures that are made for the mouse, and on the iPad you can have your normal touch gestures. This is just the beginning of a new incredible apple cross platform experience especially with SwiftUI which is its own UI framework meant to work on all apple operating systems.
Mini Map
When you add the word MARK: to your comments it shows up as large text in the mini map. This feature is my favorite when placing code placeholders, and other stuff you will frequently need to come back to modify. These comments are similar to bookmarks in books, they stand out when you look at them from the outside in this case the mini map serves the same purpose. Usually the mini map displays all the functions in your code which is handy, however you might want to place a Mark somewhere you wish to return to to make changes. All you have to do is CMD and hover over the mini map to view all your functions and Marks. You can click on one by still holding down the CMD key and clicking on one. This will take you to where you placed your MARK. This is so genius because it saves you time from having to skim through your code just to find something inside of a function with a normal comment.
As you can see we get a nice view of your class with our marks on it. The larger letters are our marks displayed on the actual mini map. To the left side of the mini map when hovering while holding down the CMD key we get a nice list of your functions with a colorful tag, and our Marks with a gray mark next to it. This is the best way to take a quick look of a codebase while also trying to understand it as long as their are enough descriptive Marks to describe the understanding of the codebase. WARNING: Don’t overdue the MARKS because then we get a messy mini map which will get cluttered, and hard to understand. The point of the mini map is to list functions, and short descriptions of things within your code. Think of this as a summery of a class, or a glossary of where to find something inside a class.
SF Symbols
SF symbols allows for us app developers to not need to download Assets for basic UI icons such as the Wi-Fi icon, the Phone icon, etc. SF symbols are part of the system library of symbols thus adding potential to decrease app sizes by not having to bring in image Assets for basic icons. My favorite thing about SF symbols is that they come ready for dark mode, and light mode changing depending on the devices state. without SF symbols you would need to download one symbol for dark mode, and another one for light mode, or one that fits both UI states. images take a good chunk of storage which is one of the main reasons why app sizes can be so large. We may see apps decreasing in size when IOS 13 and Xcode 11 are out for production use. Here is an example of the same SF symbols displayed above except in dark mode.
As you can see the blue of the icons changed to match the dark mode appearance. This will happens to all SF symbols, even the complicated ones.
Full Dark mode and light Mode design tools.
On other OS’s such as android dark mode feels like an after thought, however apple is clearly not looking at it that way. The new storyboards, and XIB’s now have toggles for dark mode and light mode which change the colors of the UI accordingly. This applies to SwiftUI builder which has something similar to the image above. Why did I put this simple thing as my favorite? well because I can clearly see that apple is putting their time and effort to integrate dark mode deep into the OS. This is not just a layer onto of the OS, this is a full integration.
PS.
I was going to put SwiftUI in this list, but I decided not to. I understand that we have all had plenty of swiftUI in our lives in the past month. I wanted to give you a list of things that are probably not as trendy. Xcode 11, and IOS 13 have so much more to offer than just SwiftUI. Yes I love SwiftUI too, it has some awesome features. However its not exactly mature yet, so lets give it time to mature just like Swift matured over time. I also want to create a Sign in with Apple tutorial, but the framework documentation is not out yet. Thanks for reading my articles, and stay tuned for some more IOS and android articles coming soon.