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

🐕 How not to be a mediocre developer

12 Tips for becoming a Good programmer, covering coding habits, learning methods, and attitudes, are worth learning and thinking about.

🐎 Mobile teams break the ice under the evolution of mobile application architecture and the trend of pan-front-end

It’s a bit of a shock to see a headline like this. I have always felt that the general title is too great force of the article will be a little deliberate feeling, but after reading this article to dispel my prejudice. The core of this article is two parts. First, it returns to the history of the development of mobile terminal engineering system, and then discusses the development direction of technical teams and engineers in the current situation. The author’s analysis and summary are in place, and although the author is looking at it from an Android engineer’s point of view, many of the suggestions are also applicable to iOS engineers.

At the end of the paper, the author summarizes several major areas worth investment: containerization technology, cross-platform development solutions (RN,Weex,Flutter), systematic operation and maintenance, and vertical domain technology (audio and video, graphics and image). For the current feel that their technical depth of the students encountered bottlenecks, can refer to.

🐕 mock in iOS

Mock is not a specific manipulation or programming technique, but rather a way of dissecting engineering details to solve problems in a particular environment. However, mock is definitely a development idea worth learning if we want to continue to learn more about development, we need to learn more perspectives and use more tools to understand and solve development problems. The author of this article lays out in detail when to mock and how to implement it.

🐕 How to write a good software design doc

Typically in a large team or company, developers need to write a Design Doc and then conduct a Design Review before starting to implement a new feature. The importance of the Design Doc as a document that documents, describes designs, and illustrates future implementations is self-evident. However, in reality, many people do not know how to write a good Design Doc.

In this paper, the author describes her ideal Design Doc from her perspective. At the same time, the author also puts forward several reasonable suggestions to judge whether a Design Doc is a good Design Doc, which is worth learning.

🐕 IOS 2018 Interview tips

IOS interview guide, suitable for students who want to change jobs recently. If you want to become a qualified iOS engineer and win the recognition of the interviewer, you have to put down your heart and spend more energy in various fields, not only daily application level, but also need to practice the basic skills of data structure and algorithm, and adjust your mentality. From these points of view, the author gives his own experience and suggestions.

🐕 Bug Reporting

Radar, Apple’s bug-tracking system, is not only used to track features and bugs in software, hardware, but also documents, localization, Web properties, and even questions answered by Siri. For Apple employees, Radar guides the entire workflow from problem reporting to problem verification. However, external developers don’t have direct access to Radar, so in this article, well-known iOS developer Mattt explains how to report bugs as an external developer. It includes the use of Apple Bug Reporter, Feedback Assistant, and some third-party tools. It also includes tips on how to write Bug reports and how to avoid having your Bug reports go nowhere.

🐢 Where are object reference counts stored? – Inspiration from runtime source code

The master degree of the framework principle is always a key point in the recruitment assessment of big factories. This article explains how OC implements memory management for reference counting by peeling away Objc’s source code step by step. This kind of article is always inevitable will contain a large number of source fragments, but the author can through their own reading and understanding, comb out a clear learning directory, and the analysis of each section of the source code are more in place, it is worth gnawing at the bottom of the source code of the students for reference.

🐕 WWDC18: A Basic Guide to App Store Connect API

Apple combined the Apple Developer Portal with iTunes Connect and renamed it “App Store Connect.” It also brought some new changes:

  • The Transporter supports the Linux operating system
  • TestFlight supports a public link to download the installation directly
  • Presentation of sales and trend pages
  • More powerful App Store Connect mobile

The App Store Connect API is a standard RESTful API based on JWT(JSON Web Token). It is cross-platform and has complete usage instructions. With this API, we can automatically manage almost all App Store-related content. For example, manage certificates, manage configuration files, manage device and package ids, manage users, set user roles and app access permissions, manage TestFlight, public test users and public links, download financial and sales reports. Before you can use the App Store Connect API, you must generate a token. Apple uses the JWT(JSON Web Token) standard to establish a connection between App Store Connect and your terminal device. Log on to the App Store Connect website to create a new API key, generate a time-limited JWT token from the key, and use the App Store Connect API by passing the authorization header.

🐕 An Introduction to AR Quick Look in iOS 12

In iOS 12 Quick Look supports preview AR objects, which means you can share.usdz files in emails, messages, and any app that supports Quick Look. The receiver can open and view AR objects without downloading another app. And AR Quick Look is not limited to apps, even web pages can be integrated with AR Quick Look! This tutorial will teach you how to incorporate AR Quick Look into your iOS app and build a very basic HTML page using GitHub Pages to show you how to add AR Quick Look to your website.

🐕 Automatic Screenshots With fastlane snapshot

Fastlane is an automated toolset for automated packaging, publishing, and more. This article introduces a Fastlane control for automatic screenshots. Automatic screenshots may not be used much in normal development, but in the field of automated testing, it is a very important module, such as live screenshots of error pages, test results comparison and so on. Fastlane takes just a little code and a few Settings to integrate into our project, making it very easy to use. Students who have a need for automation might as well have a look.

🐕 Refactoring Swift code for testability

Testability of code is an important criterion to measure the quality of code. If you haven’t written test cases yet, I suggest you do some homework on them. This article presents two refactoring ideas for how to better test your Swift code: Pure Functions and Dependency Injection, with sample code for both. It is worthy of reference for students who want to improve the quality of code and get new ideas.

🐢GraphQL practices in microservices architecture

Previously, old Driver Weekly has introduced the similarities and differences between GraphQL and RESTful. GraphQL provides more flexibility in resource management than RESTful, but also increases the complexity of back-end service governance. For the collaborative development scenario of large teams and large systems, microservice is a proven effective backend architecture solution. However, microservice architecture itself is also a complex and abstract architecture. When a flexible CGI design meets a complex and abstract back end architecture, there are a lot of things to consider, and in most cases, you have to feel your way across the river. Based on more than half a year of practical experience, the author expounds the problems encountered in the work and the ideas adopted to solve the problems, and provides a lot of valuable experience for the reference of architects.

🌟 🐢The Lotus MVC Pattern: Solving the 5 Issues of the MVC, MVVM and VIPER patterns

Long articles should be read carefully.

This is a long article in which the author analyzes the advantages and disadvantages of the existing architecture, and then proposes his own: Lotus MVC (named after the fact that the class diagram between the various modules in this architecture resembles Lotus). The article is divided into three parts:

  • How the existing MVC, MVVM and VIPER architectures are layered, which problems are solved, but which problems are brought or not solved;
  • Roles and relationships of Lotus MVC modules;
  • Explain Lotus MVC through the Github Client app.

code

EasyReact is an open source client responsive framework

In our daily development, state can be said to be everywhere, for example, I recently participated in the development of a project, a data change involved more than one UI change, at this time, it is natural to think of a responsive programming way to solve this problem. Just recently, EasyReact, the industry’s long-awaited responsive framework, became open source. Meituan has been a heavy FRP user team. They introduced the ReactiveCocoa framework a long time ago and played an important role in promoting the ReactiveCocoa framework itself and the PROGRAMMING thought of FRP. However, with the development of its business and team, Meituan also encountered some problems in using RAC. For example, RAC itself has a notoriously steep learning curve and is difficult to debug. In order to solve these problems while maintaining the convenience brought by reactive programming, the Meituan team developed the reactive programming framework EasyReact. Officially, EasyReact is superior in performance, ease of testing, and consistency of writing. I’m not sure if any of these statements are true, but meituan has given us a significant open source framework for responsive programming. Students interested in this aspect can now Down code to try to learn or use!

RxReduce

Redux is a popular framework on the front end, and its iOS counterpart is ReSwift along the same lines. Because all changes are changes in the response state, they are inherently reactive and are well suited to the Rx architecture. This time the Rx community has launched RxReduce to implement the framework. So if you’re going to use a one-way data flow architecture in your current project, you might want to plug into an Rx bucket.

ZJAttributedText

ZJAttributedText is a rich text framework. In contrast to YYText, it is lighter and can style rich text with chain calls.

Twitter Network Layer (TNL)

Twitter Network Layer (TNL) is an open source iOS Network Layer framework with strong scalability and rich functions based on NSURLSession. For those of you who are interested in building a basic network layer, it is suggested that this framework has been in use inside Twitter for 4 years and has been in no bugs for the last 18 months. You can check out Twitter’s blog post 🚧 Introducing Twitter Network Layer iOS Framework for Open Source.

push

Bytedance’s Beijing iOS team continues to hire people

Bytedance is a very young startup, full of energy and passion, and we hope that more talented people will join byteDance to help people see the bigger world (Toutiao, Watermelon Video, Wukong Q&A, Understand Car, TopBuzz, News Republic…). And let more people’s beautiful life be seen (Douyin, Huoshan video, Musical.ly, Tuworm, Faceu…). , my email [email protected], or add my wechat Jingmu1994 for more information about the company and the position.

Shenzhen Toutiao R & D center sincerely invites all iOS masters to work together to please their own projects

If you want to know more information about Shenzhen toutiao, you can add small T wechat: Tomtan, to discuss technology and feelings can oh ~~~~

Hangzhou/Guangzhou/Shenzhen Qizhi Technology recruitment iOS, front-end

Since 2016, Qizhi Technology has entered the field of Internet of Things and artificial intelligence through collaborative workflow Mesh of industrial UAV, and successfully provided UAV solutions for real estate, construction, surveying and mapping, power inspection and other industries. Mesh not only uses YARN, rollup, VUE and other technology stacks, but also uses Couchbase to design multi-terminal data synchronization schemes and conducts in-depth research on React Native. You can also get to know zhuo, who has no story, by private message on weibo.

Baidu Education Business Division recruiting iOS development

There are baidu Reading, Baidu Library, Baidu Listening and other App products under the department. The team has a strong technical atmosphere. If you are interested, please send your resume to my email: [email protected].

Shanghai – Join Jike

Jike iOS team has been using pure Swift development for more than three years from the very beginning, and is the earliest team using Swift on a large scale in China. We prefer frameworks like RxSwift and Texture to work with the best engineers to create the best app that works with the highest standards. If you know a smart, hardworking, ambitious engineer, come and join us! Any references or resumes can be sent directly to Jason (Immediate iOS Leader) at [email protected] or @jasonyuh on Twitter.

Beijing – Ant Financial is looking for iOS/ Android/front-end development

Recruitment by Ant Financial, responsible for alipay membership and account business line, located in Beijing International Trade, 100 meters from the exit of Jintai Xizhao subway station. Although the recruitment link is only given to iOS JD, but the front-end/Android /iOS, similar requirements. Interested students welcome to send your resume to: [email protected]/[email protected] (the same mailbox) or this micro blog private message @ Tu Fan er _ MSG to understand the situation.

Pay attention to our

We have opened an official account, which will push messages when each issue is released. Welcome to follow it.

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

The current editor

@No story Zhuo, @Siniang, @Mmoaay, @Xiangerxiansen, @DamonWong, @Msg, @Zhang Jiafu, @Aidenrao, @Parsifal, @Aaaron7, @Fang Qiulong, KYO, TOM510230, Anotheren, Shuishui, Looping, @jasonyuh, @lao Lao Lao Lao Lao donkey

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)