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

Flutter Web: Discover more possibilities!

Google has updated the progress of Flutter Web again. In its latest release, Flutter already offers PWA support, and more and more plug-ins are starting to provide Web support. Flutter also further improves Web debugging and testing.

Although Flutter Web support is still in beta, Google is working hard to improve Flutter performance step by step, and we hope that Flutter Web developers will join us to improve Flutter Web.

The novice recommended

Settings Bundles Management in Xcode

Speedboy: Settings Bundles allow developers to add custom content to their iOS Settings. This article mainly introduces how to use shell script to add different content according to different Configuration or different Targets in the setting.

The article

🌟 🐕 TrampolineHook study notes

@Backgammon: Although THIS library is written by me, I never thought there should be such a detailed analysis of every aspect of it. It’s amazing. I have to recommend it.

🌟 🐕 Super explanation analysis Flutter rendering engine | business want to innovation, do not understand the underlying principle how line?

CrazyCoderShi: This article is highly recommended for those who use Flutter. It provides a detailed analysis of how a control is displayed on the screen from the rendering engine level. At the end of this article, we briefly mention some of our explorations of Flutter and the often mentioned Flutter engine in the community as a rendering engine for applets 👍.

🐕 What’s new in Swift 5.3?

@Herringson: In this article, we introduce you to all of the new features in Swift 5.3. The two most notable features are Multiple trailing closures and multi-pattern catch clauses. Read the original article for other features.

  • Before 5.3, trailing closures could only be used with the last closure type parameter. It is not recommended for closures with multiple closures. Swift 5.3 will begin to support trailing closure mode for multiple closures.

  • Previously, only one type of error could be matched in a catch statement. Starting in 5.3, multiple errors will be supported

    do {
        let result = try checkReactorOperational()
        print("Result: \(result)")
    } catch TemperatureError.tooHot, TemperatureError.tooCold {
        print("Shut down the reactor!")
    } catch {
        print("An unknown error occurred.")}Copy the code

🐕 Flutter’s exploration and practice in PLUS business

@ looping: This paper introduces the reason why the member business team of JD PLUS got involved in Flutter, and the research conclusion of the problems that need to be explored and solved at that time. It also describes in detail the practice process of Flutter in PLUS business, which is a good learning and communication material for students studying Flutter.

🐕 WKWebView default cache policy and HTTP cache protocol

@Giggly: WKWebView’s default cache policy completely follows the HTTP cache protocol, Apple doesn’t do anything extra. The WKWebView default cache policy flow is summarized as follows:

    1. If no, initiate a request directly. If yes, proceed to the next step
    1. Pragma:no-cache, Pragma:no-cache, Pragma:no-cache, Pragma:no-cache, Pragma:no-cache, Pragma:no-cache, Pragma:no-cache
    1. Whether the Cache Expires (response header, cache-control :max-age, Expires, Last-Modified heuristic Cache), if it does not expire, use the Cache, do not initiate a request, if it Expires, enter 4
    1. The client initiates a resource update check request (request header, if-modified-since: last-modified, if-none-match: ETag). If the resource is not updated, the server returns 304. The client uses cache. If the resource is updated, the server returns 200 and the resource

Recommended reading: Probably one of the most misused HTTP response headers cache-control: must-revalidate

🐕 The different categories of Swift protocols

EyreFree: The author of this article proposes a new design idea for classifying protocols according to the category they belong to. Broadly speaking, the authors classify agreements into four categories:

  • Action enabler: Enables us to perform uniform operations on each compliance type. They usually haveableThe ending name, for exampleEquatable;
  • Requirements definition: Allows us to formalize requirements into some kind of object, for exampleSequence,NumericColorProvider;
  • Type conversion: The protocol is used to allow various types to declare that they can be converted to another type, or that they can be expressed in raw values or literals (e.gCustomStringConvertibleExpressibleByStringLiteral);
  • Abstract interfaces: Act as a unified API for multiple types of implementations, allowing us to quickly replace implementation code on demand without changing caller code, encapsulating third-party code, or emulating objects in tests.

Do you agree with this classification? Perhaps you will be able to make your own opinion after reading this article.

🐕 “Zero” learning cost: Developing dynamic Flutter applications using Web standards

@Bangben: This post introduces a Kraken project of Alibaba. The core of this project is Web standard development and Flutter parsing rendering. HTML -> Flutter Render is basically a small application model that uses W3C standard specifications and has a low cost for Web entry. Also introduced its supporting tools and some performance features, but not open source, can be used as a way of reference.

tool

How to add a shield on the App Icon of beta builds

Redpaper: If you’re still upset about loading too many test packs and not being able to see the test pack version/build information directly. Try the “Badge” tool in this article, which allows you to add your desired version information to your App Icon. Integration is also very convenient, through the Run Script Phase in Xcode or through the corresponding Badge plug-in in Fastlane integration.

push

Shanghai – ByteDance: iOS/Android/ front-end/back-end engineer for TikTok

TikTok is currently the most popular short video App in the world and the most successful in China, with nearly 2 billion downloads worldwide.

At present, the size of the team lags behind the growth of the demand, and it is very short of people. There is no limit on experience. Fresh graduates and old drivers are welcome.

Send your resume to [email protected]

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 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)