10 things iOS developers should pay attention to in 2021

donnywals was released on January 4, 2021.

I know that not every iOS developer has to learn everything on this list. In other words, this list is a list of technologies and skills that I think are already important or become more and more important this year.

This is a list of technologies and skills that I have learned this year, plan to learn or want to learn. This is also a list that hopes to inspire you to broaden your horizons and learn new things. Or, this list may inspire you to refresh your knowledge of things you have seen before but haven’t followed in a while.

 

 

Combine

Apple released the Combine framework on iOS 13. Combine is Apple's functional reactive programming framework, similar to RxSwift, but also very different. The main selling point of Combine is that it is a first-party framework. This means that it will be maintained by Apple (hopefully for a long time) and updated with the release of Apple's operating system, which is both great and has drawbacks.

In any case, my goal is not to convince Combine to be great. Convincing you that Combine's goal is not my goal either.

I will let you decide whether to merge.

It is undeniable that Apple's bet on mergers is high and it is worth seeing.

Especially because SwiftUI uses Combine heavily.

If you want to learn more about combinations, I would like to recommend my book "Practical Combinations" to help you get started and run.

 

SwiftUI

I think you have to at least mention SwiftUI recently to talk about iOS development. In fact, I think SwiftUI is becoming more and more important in the iOS field.

At this point, you are unlikely to need to know that SwiftUI can be used in the short term. I do believe that SwiftUI is an important learning framework, and it can definitely give you an advantage when looking for a job.

If you want to learn SwiftUI, you can refer to some good resources, such as Apple tutorials , SwiftUI introduction to actual combat tutorials.

Of course, there are many, many resources. These are just my personal favorites.

It is an interesting discussion whether SwiftUI is ready for production. Of course, there are some rough points. We are working together on how to write applications in SwiftUI. The popular architecture for SwiftUI apps you might want to look at is pointfree.co's Composable Architecture.

 

XCTest

If we all know one thing we should do, but skip it regularly, can't do it, don't do it, or just forget it, it's unit testing.

My personal motivation for writing tests as much as possible is that it lets me know that something will work, rather than thinking that it will still work after making changes elsewhere in the code base. Unless I have tested it, I can’t be sure that something is feasible. Automated testing ensures that I never forget to test certain functions, and it is much faster than manual testing.

If you want to convince your manager that you should write a test, check out my talk since 2019 called "Adopting TDD in the Workplace". Most importantly, as a developer, testing should be part of your process. Tests can help you write decoupled code, and once set up, your tests will always run. This is much faster and more rigorous than manual testing.

If you want to learn more about iOS unit testing, I can highly recommend Jon Reids' website and his sample iOS unit testing book.

 

Collection View

In the past few years, Apple has been busy improving the "Favorite View". In particular, iOS 13’s synthetic collection view layout and diffusible data sources have greatly improved the way we use collection views.

In iOS 14, Apple has made more improvements. For example, we now use a very flexible collection view list layout, and there is a new way to register and exit custom cells, called cell registration.

If you are not familiar with the collection view, or if you have not seen the new features, I strongly recommend you to do so. Apple does a very good job of collection views. Make sure to check out Apple's sample apps to see most of the new features since iOS 13 went live.

 

Core Data

Although Core Data is not a new framework and its roots are firmly rooted in the Objective-C field, it is still a very relevant technology. Apple has invested a lot of resources to make Core Data easier and easier to use, and they even added the ability to automatically sync with iCloud in iOS 13.

Strictly speaking, this is not Apple's first attempt to add iCloud synchronization to Core Data, but it is undoubtedly Apple's best attempt.

If you did not like to use Core Data before Apple added NSPersistentContainer in iOS 10, or did not like to use Core Data, or were told to avoid Core Data because it was clumsy, bad, inefficient, or difficult to use, I strongly recommend that you use another one Look like.

Apple provides a lot of information about Core Data on its website, and community members such as Antoine van der Lee have also written a lot of information about Core Data.

I have done a lot of articles related to Core Data myself, and published a book about the framework at the beginning of this year, called "Practical Core Data", I personally like it very much, and highly recommend it to those who are new to Core for the first time. And novice. Data for a period of time.

 

Instruments

We all hope that our applications are free of memory leaks, dropped frames and other poor performance characteristics.

The favorite way to find performance problems is the "tool" tool. If you have never seen Instruments before, I think 2021 should be the year you change this year.

I think Instruments is a basic tool that should have a place in every iOS developer's toolbox.

To get started with Instruments, you can check out the overview provided by Apple.

If there are too many overviews, you might like this article I wrote on Time Profiler, which is the Instruments I have used the most so far.

 

Communication skills

Being able to communicate effectively as a developer is very important. Whether it is oral or written. In my opinion, we have never completed work to improve the way we communicate.

This is why I think it is a good thing to spend some time in 2021 to improve the so-called "soft" skills. This will help you become a better team member, a more effective communicator and a better listener.

These are skills that I think developers often underestimate, which is why it is important for me to add them to the list. (Thanks to HeidiPuk for the tip).

Some resources can help you get started, here are Ask Furrow's talks and interviews/podcast episodes with Sean Allen and Mayuko.

Practice communication skills, write often, make sure to listen to others, and ask you to provide feedback on communication skills if possible. If you do this regularly, I believe you will become a stronger communicator by the end of 2021.

 

Build universal applications

Now, this is a technology that I personally hope to invest a lot of time in 2021. In the past few years, Apple has shown us how to build applications that can run on iOS and Mac. First use catalyst, then use SwiftUI.

Now that Apple’s M1 Macs have been eliminated, they can run iOS applications on this machine. I think it’s time to start thinking about Mac as the platform on which we should write applications as much as possible. Similar to the way we try to ensure that most (if not all) applications run on the iPad and iPhone.

Unfortunately, I haven't found any useful resources. Apple has some WWDC videos that may be interesting, but since I haven't seen the universal app, I owe you some links.

If you have a universal application resource that suits me, please let me know.

 

ARKit 和 和 RealityKit)

With more and more rumors about Apple glasses, I think we might see them eventually. Maybe in 2021, maybe later.

However, once these glasses are (inevitably) announced, we may want to build applications for them.

I bet that once we can build applications for glasses, we will operate on top of Apple's augmented reality framework.

I think now is the perfect time to start learning ARKit and build some augmented reality experiences. Especially if you are interested in making apps for the rumored Apple glasses.

In addition to ARKit documentation and WWDC videos, Apple also provides a lot of resources to help you get started with augmented reality.

 

async / await

Although this feature is not yet officially available in Swift, since its fragmentary content is still being reviewed on the Swift forum, I think async/await is one of the biggest new things to watch this year.

I don't know which Swift version will include the official async/await version, but if you are using the latest Swift version, you can try the feature right away.

Asynchrony/await will greatly change the way we write asynchronous code in Swift, and I am very excited about it.

If you want to follow its development, you can do it on the Swift forum where all comments and suggestions are posted.

 

In short

I think the list of 10 things you should focus on in 2021 is related to it. Of course, some things may have nothing to do with you. Or, this list may lack important technologies or skills that you think everyone should focus on.

It doesn't matter, I just hope this list can provide you with directions for learning (new) things. Some items on my list have been around for a while, while others are brand new. If you don’t know new things this year, that’s okay. Study and investigate at your own pace, focusing on where you want to go.

If you have any feedback on this list, or want to share your concerns in 2021, please send me a Tweet. I like your letter.

 

Translated from: https://www.donnywals.com/10-things-ios-developers-should-focus-on-in-2021/

Guess you like

Origin blog.csdn.net/fzhlee/article/details/114268634