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.

news

🐎 On the road to Swift 6

@xiaofei86: Swift official release Swift 6 future direction:

  1. Accelerate ecological development in Swift
  2. Optimize the development experience (Compiler, Debugger, IDE, etc.)
  3. Moving towards a language that empowers developers (language functional level)

To this end, SSWG will be used to set up their own working groups in each field for development, and Core Team will also be adjusted to introduce the Core leaders of each working group.

Swift 6 currently has two goals:

  1. Enhanced support for concurrency
  2. Continue along the Ownership Manifesto’s plans to optimize the memory model

Swift 6 will not have specific time schedule this time, but will only disclose their development progress and schedule according to their functions. When all these goals are completed, Swift 6 will be released, and before the completion of the goals, Swift 5.x version will only be released according to the cycle.

The novice recommended

πŸ• SwiftUI- Official Tutorial Translation

Zvving: It’s been six months since SwiftUI was announced and it’s starting to get a lot of developers trying to learn and use it. This project has translated a total of ten official SwiftUI tutorials. Besides keeping the official text content, illustrations and codes, it has also made subtle optimization, which is recommended for Swift beginners.

Recommended by: @Willie

The article

🌟 πŸ• An attempt to make the refresh control fun

Zvving: You’ve had the “hammer in your hand and everything looks like a nail” experience.

Where can SpriteKit be used? From a pull-down refresh to a “serious” analysis of the feasibility of gamification to the actual code implementation. While creating demand, the author provides a sample of “rigorous thinking and careful realization”.

Reading this article will leave you itching to learn some new techniques and find another scene to use.

πŸ• Library Evolution in Swift

Slava Pestov of Swift compiler group wrote a post on Swift 5.1 about binary Stability.

In Swift 5.1, Swift introduced two new features: Module Stability and Library Evolution. The former allows Swift Modules compiled by different versions of compilers to run in the same App, while the latter allows the binary Framework developer to add new functionality without affecting compatibility with older versions.

In this article, Slava uses some examples to introduce two of the most common attributes: @inlinable and @frozen. Read this article if you are developing some framework.

πŸŒŸπŸ• Amoy experts take you to explore the terminal intelligence and MNN

Ok,

The next

@Lianshu: MNN has recommended some of them before, but they are more technical details. The two articles recommended this time are relatively more general. From why we do tele-intelligence to why we use MNN. The first part focuses on explaining why end-to-end AI is the future development direction, and summarizes some challenges and future development trends of end-to-end intelligence. The next part mainly shares MNN’s advantages and workflow. The two articles are suitable for the reference of the R&D students who hold a wait-and-see attitude towards end intelligence. For those who have already entered the pit, the reference value is not much.

🌟 🐒Static and Dynamic Callable Types in Swift

JimQ: Last week the first beta release of Xcode 11.4 brought us a number of valuable updates, including two new syntax for Swift that are getting a lot of attention: key path expressions as functions and callAsFunction. The authors provide some historical and theoretical background to help us realize the real value of the new syntax and how Swift pieced together static and dynamic callable types. The author also expressed frustration about the increasing sugar content caused by Swift’s new proposals, saying, “I don’t know the real face of the mountain, but I am only in the mountain.”

πŸ• WatchKit rendering principle and SwiftUI bridge

Since its release, the Apple Watch has undergone several iterations and has become the most popular wearable device on the market. Swift UI is a uI-related framework that Apple introduced last year. Although WatchKit has been launched for some time, I believe that most students have no experience in developing Watch App, so I believe many people will be interested in how to combine the development of these two technologies, which are relatively unfamiliar to many people. This article not only introduces the rendering principles of WatchKit, but also shows how to bridge with SwiftUI, which is worth checking out.

tool

ControlRoom

Based on Simctl, you can easily control the emulator from the GUI, such as sending push notifications, switching to night mode, etc.

Sitrep

Sitrep is Swift’s source code analysis tool that provides you with advanced code analysis:

  • The number of your classes, structs, enumerations, protocols and extensions.
  • Total lines of code, and lines of source code (minus comments and Spaces).
  • Lists the maximum line-count files, along with their source line count.
  • What is imported and how often.
  • How many UIViews, UIViewControllers and SwiftUI views do you have in your project?

code

🌟 πŸ• MLN — Mobile cross-platform solutions that support hot change

@ CrazyCoderShi: MLN is the open source mobile cross-platform development framework of Momo technical team. Due to its advantages such as low learning cost, high staff efficiency, good performance, and support for online hot update, MLN has completely replaced Weex in Momo App and become the only cross-platform solution in use, which is widely applied in various business scenarios. MLN has many advantages:

  • Small package size, fast loading and high smoothness (compared with Flutter/RN/Weex)
  • Development and debugging support hot overload, improve development and debugging experience, save time and cost
  • Support hot update, download lua offline package through the network to achieve hot update
  • Improve development efficiency, one set of code for both Android and iOS

Audio and video

🌟 🚧2019 | Internet iPlayground difficult, difficult to move on – simplify network programming in parts of the way

The video is a speech delivered by Miaoshen at iPlayground 2019, sharing Line SDK’s thoughts on the single responsibility design architecture of the network layer. If you are interested, please click here to see the source code.

push

Hangzhou Xiaoshan Micro Medical Group is looking for senior iOS development engineer (Mac direction). Wedoctor Group is a leading Internet medical unicorn enterprise in China. Now we are recruiting r&d engineers proficient in Mac audio and video, to participate in the development and maintenance of AUDIO and video SDK, and to be responsible for the design, development and maintenance of core functions of cloud conference client. Interested persons to send resume to [email protected], there will be back, real-time feedback progress ~

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 every issue will be released on the official account (OldDriverWeekly), welcome to follow.

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

instructions

🚧 indicates the need to climb the wall, and 🌟 indicates the editor’s recommendation

Estimated reading time: 🐎 in a short time (1-10 mins); πŸ• medium (10-20 mins); 🐒 slow (20+ mins)