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.

Dear readers, I haven’t seen you for a long time. The old driver’s weekly newspaper has been updated! The past 2021 has seen a lot of things happen for the Old Driver Weekly: our editorial team welcomed three new members, organized the translation of WWDC21 internal reference, offline salon and other activities. The specific content can see this year-end summary. Thank you very much for your continuous support and attention. This is the 197th issue of the weekly, and the first in our recovery nuggets update, and we’ll be with you in the years to come!

news

Swift bugs are moving to GitHub Issues and we need your help!

J_Knight_ : Swift issue management will be transferred from JIRA to Github, the whole migration process is planned to end on April 28th this year. Prior to this, an issue that has been created on JIRA will be completely copied into Github’s issue list as a new issue. JIRA will no longer support the creation of new issues, and the bugs.swift.org url will be redirected to the Github issue address. Readers who want to learn more about the migration steps are advised to do so.

 Developer – Design development Accelerator

🌟 🐕 SwiftUI development sharing done at apple Accelerator Events

Invited by Apple Accelerator SwiftUI, Mr. Daiming shared SwiftUI on March 25th. Shared content includes but is not limited to how macOS solves multi-column problems, Toolbars, folder nesting structures, text and code editors, Grid, Vision, SwiftUI components and UIKit components.

The novice recommended

🌟 🐕 Abstract types and methods in Swift

ChengzhiHuang: This article introduces a virtual class implementation scheme in Swift. Using Class alone or Protocol alone has its own disadvantages, so the author chooses:

Methods are defined in Protocol (including AssociatedType), member variables are defined in Class, and Protocol and Class are combined into a single type using TypeAlias.

This scheme will also bring some problems, but there are also their own solutions, you can choose at your discretion.

  • Because the new type also contains associatedType, it cannot be used directly as a type, and can be resolved using type erasure.
  • You cannot add an Extension based on a new type. Methods can only be added to the original Class, but sometimes they should not or cannot be added to the original Class. You can then repeat the Class variable declaration in Protocol and add the method to Protocol’s extension.

The article

🐕 Memory optimization: Texture compression techniques

Lao Donkey: The popularity of metasomes and 3D related technologies has also led to the emergence of good articles on related topics recently. Tao technology team share this article is ali team in the small program to texture compression of some exploration and optimization. With the development of Gpus, texture compression is widely supported on mobile devices, which, if properly used, can lead to improvements in size, memory footprint and performance.

🐕 AnyObject, Any, and any: When to use which?

Swift 5.6 introduced the any keyword in SE-355, plus the existing AnyObject and any (note the caps). This article introduces the usage scenarios of the three keywords and focuses on the role of the newly introduced ANY.

🐢 Hummer Engine Optimization series – Warning of a large number of dry goods

CrazyCoderShi: Hummer is a custom Flutter engine from the UC kernel team that is optimized and enhanced based on the official Flutter engine. After nearly two years of continuous optimization and enhancement, Hummer’s performance in all parties is bright enough and has been verified by a large number of people. Next, the UC team will tell the optimization experience back to the community, which can be described as dry goods, mainly focusing on:

  • Performance optimization
  • Package volume optimization
  • Memory stability
  • Dart language layer optimization
  • Enhanced functions of the business layer

🐕 Is Flutter better than React Native?

Xiaofei86: The writer is the founder and CTO of a software development company and a core member of React Native. In this article, the author tries to discuss the advantages and disadvantages of Flutter and React Native as fairly as possible in terms of human costs, developer experience, performance, experience, Web support, third-party ecology, dynamic updates, and the companies that use them. Let everyone in the project technology selection a little more guidance weighing thinking material.

🐕 Creating an ‘s Page Performance Score | by Andrew Scheuermann | The reality Tech Blog | Medium

This article introduces the thinking process, dimensional analysis, difficulty exploration and landing effect of Airbnb in building its own PPS (a 0-100 points multi-dimensional page performance scoring system). You can read it according to the following steps:

  • Early Performance Measurement Efforts
  • Introducing the Page Performance Score
  • The Metrics
  • Web Metric Weights
  • PPS Evolutions
  • Weighted Average Score

🐕 How Fastbot can help the stability test of toutiao.com

Fastbot is an intelligent testing service developed by byte itself. It uses machine learning and reinforcement learning to perform traversal testing, and has comparable performance with manual regression in terms of code coverage. Fastbot can realize operation visualization, scene limitation, screen stuck detection, barrier-free detection and many other capabilities. At present, Fastbot automation task has been able to find stability problems in App well, and can help byte intercept about 50% of abnormal problems. Meanwhile, we will continue to improve Fastbot traversal ability and improve Fastbot related indicators.

WWDC21 inside

Reduce network latency for your App

LMH: This paper mainly introduces the reasons affecting the network delay and how to reduce the network delay, mainly from reducing the number of RTT and reduce the single RTT time. This article covers a lot of knowledge about transport layer protocols and also explains related concepts. Finally, the application status of some technologies is introduced.

ARC mechanism in Swift: From basic to advanced

Liu Xia: This article focuses on ARC (Automatic reference counting) mechanism in Swift language, and describes the possible problems caused by object life cycle changes in practice and how to avoid these problems from the language or code design level.

tool

swift-docc-plugin

@ kemchenj: SPM released with Xcode 13.3 added the Command Plugin function, and Apple officially released the corresponding DOCC plug-in. As long as this Plugin is introduced in package. swift, You can generate documentation in the CLI with one click using Swift Package generate-documentation. :

let package = Package(
    // name, platforms, products, etc.
    dependencies: [
        // other dependencies
        .package(url: "https://github.com/apple/swift-docc-plugin", from: "1.0.0"),
    ],
    targets: [
        // targets])Copy the code

Fishing in weekly

@Fish Weekly #48: The 48th issue of Fish Weekly is coming. The full content can be found by clicking the link on the left. Let’s take a look at the summary of this issue:

  • Topic: Node-IPC supply chain poisoning incident
  • Interview module: OC object weak reference pointer identifier bit
  • Good Blogs: How can Programmers Improve themselves
  • Learning materials: Full stack knowledge system with Java as the background
  • Development tools: new generation card note-taking tool: FLOMO

push

[Shanghai] Google – iOS development – Smart Home

Google has opened iOS jobs in Shanghai to develop apps related to the Google Nest smart home.

For more job descriptions see: Software Engineer, iOS App, Nest Smart Devices and Lead Software Engineer, iOS App, Google Nest

other

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 are “veteran driver Technology Weekly”, a continuous pursuit of high-quality iOS content technology public number, welcome to follow.

Focus on politeness, focus on[Old Driver Technology Weekly], reply “2021” and get the internal reference of 2017/2018/2019/2020

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)