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.

The article

๐Ÿ• ๐ŸŒŸ A Brief introduction to the road of transboundary machine learning for mobile Engineers

Lian Shu: Whether mobile developers, especially iOS developers, are wanted or not is the schrodinger cat problem of the tech world. On the other hand, it is also true that the market for mobile development has cooled dramatically and come back to rationality. In this paper, the author is a new member of the old driver editor @gobang. He is from MNN team of Mobile terminal AI (MNN is a mobile terminal AI forward computing framework developed by Mobile Terminal AI). Combined with his own experience, he discusses the possibility and potential benefits of crossover from mobile development engineer to machine learning.

This paper first illustrates that the generalized AI, or AI in the industry, is actually 90% of the pure algorithm, which is a real problem solving field requiring engineering means, so it is feasible for engineers to cross boundary machine learning. The paper then presents three technical areas that may be involved in the implementation of the end-to-end forward computing framework. They are data self-describing protocol (used to form model files), assembly knowledge (used to realize low-level Op performance optimization) and GPU-related knowledge (using GPU to run related calculations through GPU interfaces such as OpenGL). In my experience it’s true that each of these sub-areas is worth digging into and has some technical dividends. (Useful even if you’re not doing machine learning.) Overall, this article is worth reading, especially for mobile engineers who have some experience but don’t have much depth.

๐Ÿ• ๐ŸŒŸ Swift 5.2 will use a new diagnostic framework

Error: Type of expression is ambiguous Without more context Is probably the compilation error you see most often at Swift. It accurately describes the problem, but does nothing to solve it.

With the ABI and Module stabilized, the Swift team finally had time to settle down and optimize the diagnostic system experience, and they recently posted a blog update on the direction and thinking for the diagnostic system refactoring. Famous developer Tulading also expressed his expectation for the optimization on weibo:

I remember when I first started programming, when I was learning C, the compiler I used was GCC. At the time, GCC’s Diagnostic was doing poorly, often giving unintelligible error prompts. Apple was also using GCC at the time, but soon switched to LLVM/Clang, whose big improvement was Diagnostic. There’s reason to believe Apple will do a good job with Swift Diagnostic this time.

๐Ÿ• The Scene Delegate In Xcode 11 And iOS 13

@Zhangjiafu: In Xcode 11, the default template of iOS app will automatically add SceneDelegate. What is the role of scene Delegate in iOS 13? The author delves into some of the changes introduced by iOS 13 and Xcode 11, particularly regarding Scene delegates and App delegates, and discusses how they have affected SwiftUI, Storyboards, and XIB-based UI interfaces.

๐Ÿ• Chris Lattner tells the Swift origin story

@ old peak: Here Chris Lattner tells the story of Swift’s origins, The content includes the introduction of Swift initial team and prototype, Swift document editing, Swift community’s contribution to Swift development, Swift development status and expectations, Swift’s promotion and layout outside the Apple ecosystem, Swift Evolution in Swift This article was translated by SwiftGG translation team. Interested readers can read the original text.

๐Ÿ• IOS development invites you to learn for the future

EyreFree: Based on the complaint of an iOS developer with 5 years of experience and the current iOS development market, the author analyzes what knowledge and skills a senior iOS developer should master in order to continue to have a place in the ever-changing IT industry. In addition, the author used several mind maps to throw out the directions and fields that he thinks are necessary for in-depth research, which may give some inspiration to some iOS developers who have no clear career development plan or have been in the industry for a period of time but are still confused.

๐Ÿ• SwiftUI Layout System | Alexander Grebenyuk

@ four niang: The new SwiftUI this year achieves the ultimate in ease of use, among which the layout engine plays a supporting role. In this article, the author takes us to analyze the layout mechanism of SwiftUI and the implementation of Stack, and compares it with AutoLayout. Explains why SwiftUI does not need to handle cases where constraints cannot be resolved and always gives a valid layout.

๐Ÿ• Small program bottom realization principle and thinking

Lao Donkey: Although the heat of small programs has been far less than the last two years as crazy, but now more and more companies hope that they can add small programs in their apps to build their own ecology.

This article is the author of Vue. Js after receiving the task of developing small program engine do some attempts and their own thinking. After choosing Vue as the basis, the author made a variety of schemes from the perspective of security and performance, and finally selected the most reasonable scheme. I believe that can now in the development of small procedures of the students have a certain help.

๐Ÿข How to write a sentence using Swift to read an App

JimQ: This is an in-depth post from the author of the “Jane ยท Read – Simple Reader” App about developing this game. In the words of the author, “This article will cover everything that has happened in Simple App since its birth, including UI design, client development, back-end server setup, publicity and so on.” Unlike most focus on the concept, process, or operation, the author from the requirements document, sketches, designs, interactive prototypes, to the client interface implementation details, functional adaptation, animation, to abandon the third party with the Vapor of a service development, the whole stack reduction, and all hd screenshots or source code, no code all the way, just open source, is a straight boy ๐Ÿ™ƒ, I believe you will have a harvest.

๐Ÿ• Swiftโ€‹UI Previews on macOS Catalina and Xcode 11

J_Knight_ : The author introduces several usage methods of SwiftUI: Without recompiling, you can view multiple states of UI components (such as different text on buttons, different text sizes, multi-language text), Dark Mode of a certain control, and the display effect of the same page on different models (including iPhone and iPad). Readers interested in SwiftUI should refer to this article.

๐Ÿ• See this startup optimization, let your App has a smooth startup speed ~~

Speed Boy: This article mainly introduces how to optimize the startup time of the APP. We first introduced how to check the startup time of your APP, and then introduced how to remove the useless code from T1 part (including +load method optimization, reduce the use of the framework, Reduce c++ virtual functions, etc.) and T2 (optimizing the startup time of each component by ONLDynamicLoader).

๐ŸŽ Type-safe User Defaults

Zvving: There are many libraries that encapsulate UserDefaults, and type-safe handling is mostly limited to controlling value types by method names. Struct + WHERE clause is used to define the key and the corresponding data type, providing the following type-safe calls:

defaults.set("Noooope".for: .someKeyForStr)
defaults.set(1.for: .otherKeyForInt)
Copy the code

For some KV operations and other scenarios that need to restrict content types by key, it is recommended to try.

code

IOSSecuritySuite – An advanced and easy-to-use platform security & anti-tampering library

Backgamkers: IOSSecuritySuite is a library implemented entirely using Swift to detect if your App is running in a security environment. It can detect if your App is jailbroken, injected by a debugger like Frida or Cycript, loaded with a debugger, and so on. For the majority of application reverse enthusiasts, is a good learning material.

MNN – A lightweight deep neural network inference engine

MNN is a lightweight, high-performance reasoning engine for deep learning. With it, you can easily use machine learning capabilities on mobile clients to create stunning applications. For students who want to enter machine learning from the client field, this is a rare learning masterpiece; For students who want to study the underlying technology, this code contains a large number of handwritten assembly, instruction line layout code, is worth savoring.

Bytedance/AWERTL dead simple

Kyo: For some requirements, we may need to layout the page from right to left. For example, when doing internationalization, Arabic users are used to using text and functions from right to left. After iOS 9, there was a system solution To support RTL (Right To Left), but there were some problems with using the system. For example, Autolayout must be supported, and iOS 8 below is not supported. AWERTL is a library that supports RTL and makes up for some of the problems in the system.

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