Old driver iOS weekly, just for you to present valuable information.

You can also contribute to the project, if you find valuable information, articles, tools, etc., please send it to us in Issues, we will deal with it as soon as possible. Be sure to include a reason for your recommendation. Suggestions and comments are also welcome to Issues.

notice

As the National Day holiday approaches, the weekly will be closed for two more issues. The next update will be on October 12, the first Monday back in business. Look well! I wish you all a happy holiday ~

WWDC20

This week we have 4 articles from WWDC20 on our official account, and every one of them is great!

  • IOS 14 Album Adaptation Guide
  • How to optimize UICollectionView performance with native Diff capabilities
  • New on UIKit: Modern Cell configuration
  • What’s new with PhotoKit: Get to know the new photo pickers

The novice recommended

🐕 3 lesser-known ways of using Swift enums

EyreFree: This article introduces 3 little-known ways to use enumerations in Swift. If you are using Swift, please take a look.

The article

🌟 🐢 Flutter rendering engine – iOS Metal chapter

Speed Boy: Because Apple is going to stop OpenGL, metal rendering is supported in Flutter 1.17. This article describes how to initialize the context in FLUTTER and then export the view to the Surface. Finally, the rasterization process of flutter is introduced.

🐕 Summary of practice in building ios-Crash platform

@Shuishui: I wrote about how to build Crash platform by myself before, which provided a general idea. This article is a process record of specific practice. The Crash collection uses PlCrashReporter, and the analysis is based on LLVM8.0. The Crash collection has been successfully built and run for nearly a year, and also guided other departments to build quickly. If you want to build Crash platform and customize Crash information, you can refer to the ideas in this article. Also welcome in the old driver technology group to discuss and exchange.

🐢 The state of Swift for WebAssembly in 2020 (and earlier)

SwiftWasm is an open source project designed to integrate the WebAssembly back end into the official Swift compiler. The project is still in its earliest stages and will allow developers to use the Swift programming language to build applications that run in a Web browser. In this article, the author describes the SwiftWasm toolset for compiling Swift code into WebAssembly and the issues encountered, as well as the updates, plans and goals for 2020. SwiftWasm is recommended for those interested in Swift-WebAssembly.

🐎 Swift programming is now available on Windows, and the official compiler installation package is now available

Zvving: Swift supports Windows platform, compiler support is only part of the work, more need to provide full support for the development ecosystem of base library, debugger, test tools, etc.

For now, at least, you can write Windows native Calculator programs in short Swift code: a good start to a marathon of platform support.

Porting by a 1000 Patches: Bringing Swift to Windows

🐎 Come come, Flutter Widget architecture and UI rendering process

@Damien: This article explains the underlying technology of Flutter widgets and UI rendering. From the classification of widgets to the whole process of underlying UI rendering, it is helpful for students who want to understand the underlying rendering mechanism of Flutter. At the same time, after understanding the underlying principles, it can also better carry out such technical areas as state management, rendering optimization, optimization of CATon FPS.

🐕 Explaining App Clips,

JonyFang: This article is mainly about App Clips support and development configuration. Firstly, the arousal condition and the permission switch which the user can operate are introduced. Download and clean App Clips binary; Then introduce Apple Connect, client, server need to do the relevant configuration; Then, the data sharing and mutual exclusion between App Clips and the main App are introduced. Finally, local testing and auditing are introduced. The whole article briefly introduces the whole process of App Clips from development, testing, review to user experience. For those who have the need to develop App Clips business, it will be helpful for reference.

🐎 Late night dark pit – iOS startup map abnormal repair solution

@j_KNight_ : This article shares the process of how to locate the problem of startup image rendering failure and failure to update and the results of troubleshooting, and provides the solution to replace the system cache startup image, and provides the relevant flow chart; Finally, the performance difference of this scheme for cache startup graph in different system versions is provided.

🐕 Memory Safety – The Swift Programming Language

@Siniang: This is part of Swift’s official documentation. By default, Swift will prevent unsafe behavior in your code. For example, Swift ensures that variables are initialized before they are used, cannot be accessed after memory has been reclaimed, and that array indexes are checked out of bounds.

Swift also ensures that simultaneous access to the same block of memory does not conflict by restricting code writes to storage addresses to obtain exclusive access to that block of memory. Since Swift automatically manages memory, most of the time you don’t need to worry about memory access at all. However, it is also important to understand potential conflicts to avoid writing code that accesses them.

🐕 How does Swift’s MemoryLayout work

MemoryLayout is an amazing type in the standard library. It allows you to get specific types of MemoryLayout information at Runtime. It is used in HandyJSON and Runtime libraries, but there are not many articles about how MemoryLayout works.

This article introduces the workings of MemoryLayout from the perspective of the Swift compiler, such as how to determine the type of MemoryLayout in the process from source code to IR, and how to turn compile-time meta information into a callable language interface.

🐎 6 ways of JS-native communication

This paper lists several technical solutions of JS and Native communication in Hybrid architecture. Do you understand all these solutions?

Off-topic: Hybrid communication is mostly asynchronous, might as well in-depth study, whether it can achieve synchronization?

push

Senior driver Weekly team combined knowledge collection and SwiftGG Translation group included a reliable internal promotion position.

If you want to looking for a job, click here: www.yuque.com/iosalliance…

If you want to recruit people, click here: www.yuque.com/iosalliance…

Of course, you are also welcome to pay attention to our weekly report, we will update the editorial post at the bottom of each weekly report.

Pay attention to our

We have opened an official account, and the official account (LSJCoding) will push a message when each issue is released, welcome your attention.

RSS feeds are also supported: github.com/SwiftOldDri… .

instructions

🚧 indicates that a tool is required, and 🌟 indicates that editing is recommended

Estimated reading time: 🐎 in a short time (1-10 mins); 🐕 medium (10-20 mins); 🐢 slow (20+ mins)