⬆️ ⬇️

In the wake of WWDC 2016. Practical Guide





This article is a practical guide to participating in WWDC. I will tell you how to get to WWDC and share personal impressions of the conference.



Preface.



This was my first trip to the USA. San Francisco seemed to me an exemplary American city and an ideal world for IT professionals. In reality, everything was a little different. Therefore, I give the first advice: moderate your expectations in order not to spoil the impression.

')

1. Ticket to the WWDC. Buy a coveted ticket is not so easy. But there are several options:





So I got on the WWDC. Apple contacted Tinkoff Bank and offered one ticket that had to be paid within 48 hours (then the purchase would have been impossible). By a happy coincidence, I became the owner of the ticket.



2. Visa to the United States. Immediately after buying a ticket to the conference should start a visa for those who do not have it. I advise you to request a personal invitation to WWDC - to do this, just write to the support service on developer.apple.com. Probably, in a controversial situation, this document may become decisive.

The process of obtaining a visa consists of two stages: filling out the DS-160 form and going to the US consulate. I will not dwell on the filling of the DS-160, there is nothing complicated there. After filling you need to select the date of the interview at the embassy. In my case, the nearest date was after 6 days. It costs 30-40 minutes before the appointed time. Looking ahead, I will say that in addition to the passport, photographs and confirmations of the DS-160, I did not need any documents (but just in case I took with me all the tickets, conference program, account statement and resume).

The visit to the embassy consists of four stages: registration, submission of documents, scanning of prints and interviews with the consul. The last stage is the most important. The consul will ask questions to see if you are planning to return to your homeland. It will depend on your answers whether they give you a visa or not. Answer clearly and calmly, in no case do not say that they are associated with encryption, geolocation or something secret. In general, I received a visa for 3 years without any problems.



3. Flights and accommodation. After obtaining a visa, buy tickets and book accommodation. Immediately I warn you that the hype will be serious. And the prices too. Budget accommodation options can be searched on Airbnb.



4. Registration for parties. During the WWDC, many technology companies are organizing parties for developers. Number of seats is limited, so you need to register in advance. I recommend to download the application Parties for WWDC and register for all parties. Which party to go to, decide later.



5. Who is driving. It is better to find people who also go to the WWDC in advance - you can ask questions and get new contacts. We had a chat in Telegram, which is very convenient.



6. Questions and code. At WWDC there will be a large number of Labs, where you can directly communicate with Apple engineers. Communication takes place in the "question-answer" format, do not hesitate to ask more questions! Engineers quickly and succinctly respond, they can show their code. There will also be a UI Design Lab, at which Apple designers will evaluate your application and give advice. Here, apart from the questions, it is desirable to prepare scripts for the presentation of the application. If the application is not localized in English, it is highly desirable to do it.



7. General tips:











Day 0. Check-in.



In San Francisco, I flew through Frankfurt. The journey time is about 15 hours, and this is quite tiresome. From the airport of San Francisco you can reach the center by the local subway - Bart, the entrance is directly at the airport. The journey takes about 40 minutes. The ticket costs $ 8.95, you can buy in the machine. I paid in cash, but there is an opportunity to pay by card. A friend when paying with a card (I immediately say that it was not Tinkoff Bank) had problems. It is important not to throw out the ticket until the end of the trip, otherwise you will not be able to get out, and you will have to pay $ 5.95.







Registration at WWDC was open from 9:00 to 19:00, I managed to close. You need to show your passport and e-ticket, which lies in the Wallet (the ticket arrives in advance by e-mail). I received a badge and brand jacket, walked around the city for the rest of the time.

San Francisco is most shocked by the number of homeless people. In the central areas on every street, someone sleeps or asks for money, but passersby simply do not pay attention to them. If it seemed to you that in such a civilized country as the United States there cannot be such that someone is doing up on the street, then you are deeply mistaken. The first impression was spoiled.







Day 1. Keynote and Platforms State of the Union.



If you have not passed the check-in in advance, it's okay - you can get a badge just before the conference or even later. Even when checking in, I asked the girl who issued the badges, how much better is the queue? To which she replied that the earlier you take, the closer you will sit. Because of the great desire to sit closer to the stage, I decided to come 5 hours before the start. The queue at that moment was small, about 100-200 people. On the way, I met Ivan Kozlov from Aviasales, and a little later, we were joined by Egor Tolstoy from Rambler. In the queue, we met with standing next to developers from Canada, Spain, Sweden and the United States. We discussed who uses what technologies and what they do. Also there were several startups, and talked about their projects. MapBox distributed coffee to everyone and invited them to a party. Later, Apple waiters spread cakes and coffee.







Time passed quickly enough, and the queue grew to gigantic proportions. Somewhere at 9:00 we started to run inside, and from two sides of the queue. So I got to the hall much later, but the place was normal. In terms of organization, everything went perfectly - no crowds.

The lights go out, Tim Cook comes out, and the presentation begins. The revolution didn’t happen again, but there were many interesting novelties. It's nice to see that Apple is engaging developers in the development of its own operating system, allowing you to extend the capabilities of standard features and applications.







After Keynote, lunch was organized in the park opposite. The atmosphere was great - thousands of iOS developers are discussing the new features just presented. After lunch, I went to the recently renovated Apple Store at Union Square, and it was a great success to meet Tim Cook there.







Then there was a presentation called State of the Union, where they tell the technical details of the new products presented, and what's new for developers. Then there was the Apple Design Awards event, where they presented awards for the best applications. According to the stories of friends, an extremely useless event. It’s good that there is no nomination for the best banking application, otherwise I’d have to go for a reward.







Across the road, Microsoft was having a party, and my colleagues and I went there. Inside, the company's engineers communicated with the developers and talked about the projects they were working on. I talked to an engineer from the Outlook team, he spoke quite energetically about switching to Swift, a little about architecture and UI. In particular, I learned that this is one of the projects where cross-platform code is not used, and all new classes are written in Swift. The interviewee said that when developing the interface, guys from Microsoft do not use Storyboard / Xib, he explained this by saying that all team members are used to making the interface in code.

Then I managed to talk a bit with an engineer from the Office team. In this project, Microsoft is actively using cross-platform C ++ code. Every time an engineer spoke of this, pain and fatigue was read in his eyes. (He did not disclose the details of the implementation). Interestingly, Microsoft engineers do not use and do not plan to use Xamarin in their projects, all development takes place in XCode. And there were a lot of jokes about LinkedIn shopping.







On this first day of the conference ended. Ahead was an interesting day with lots of sessions and a lab.



Day 2. Swift 3, iMessage Apps, Apple Pay, Cocoa Touch.



Every day at 9:00, the sessions begin, at which Apple engineers talk about new technologies in the field of development. At the same time there are 4 sessions. So you have to choose which one is most useful for you. And it is better to do it in advance.



Swift. Two morning sessions were devoted to Swift 3. The main idea that they were trying to convey to the developers was to write clean and clear code. Also told about Swift Guidelines, new data types and API svtiftifikatsii. Apple rewrote several of its applications in Swift, including the Dock in macOS. Obviously, Apple is rapidly moving away from Objectives-C towards Swift, but it’s still very early to talk about abandoning Objective-C.

Session 402 What's New in Swift

Session 403 Swift API Design Guidelines

Session 207 What's New in Foundation for Swift







iMessage Apps. IOS 10 introduced the ability to create applications for iMessage and a separate App Store for these applications. At the first session devoted to this topic, they told about the main features and showed how to make an application for stickers - nothing complicated, you do not even need to write code.

Session 204 iMessage Apps and Stickers, Part 1



Apple Pay. The most important innovation was the ability to use Apple Pay in applications on the clock. Otherwise, minor changes and improvements.

Session 704 What's New with Wallet and Apple Pay



Cocoa Touch. Overview of the main features of the main iOS framework: new features for the adaptive interface, work with the universal clipboard, customization of the UITabBar, new features of the 3D Touch, SiriKit, preloading of cells in the UICollectionView / UITableView, new API for animating the UIView, new notification features.

Session 205 What's New in Cocoa Touch







The second day of the conference was quite intense and productive, a huge amount of information and many new features.



In the evening, the popular iOS blog, developed by NSHipster, arranged an intellectual quiz in the office of Realm. We have an international team, but with a clear margin of Russian-speaking participants.

The quiz consisted of 40 questions divided into 4 parts:



Unfortunately, we did not win the famous mustache, but it was very fun and informative.







Day 3. Labs, Notifications, SiriKit.



The third day contained not so many useful sessions, so it was decided to spend some time on communication with Apple engineers. Communication with them takes place in the "question-answer" format.



Labs.



Swift Lab. The main topic of conversation was the transition from Objective-C to Swift. First of all, the engineer pointed out the migration documentation to me, and then showed me with an example how to work with Swift classes from Objective-C and vice versa. He also advised to start rewriting independent modules and services on Swift.



Cocoa Touch Lab. The main issue for discussion was the performance of UITableView with fast scrolling. Unfortunately, I heard trite answers in the style of "do not block main thread and prepare data in advance." The engineer did not know anything about the announced functions of preloading cells. There was an impression that I was not lucky, and I got to the wrong engineer.







Testing Lab. A year ago, Apple introduced the UI tests. In practice, they turned out to be extremely unstable and unreliable. An Apple engineer said they fixed a lot of bugs in this area. But when asked if the UI tests started to work well, he smiled and said no.



Notifications Two morning lectures were devoted to the new notification system. Apple has greatly changed the mechanism and ways to work with notifications. Appeared the ability to display applications directly in the notifications, as well as proxying incoming notifications with the ability to add media files.

Session 707 Introduction to Notifications

Session 708 Advanced Notifications



SiriKit. The developers finally got the opportunity to integrate their applications with Siri. So far, integration is possible for certain types of actions, such as sending messages or payments. Requests can be spoken in any form, the SDK allows you to recognize the meaning of the phrase. All languages ​​in which Siri is available are supported.

Session 217 Introducing SiriKit



In the evening there was a party in the company of Yelp. Good atmosphere and spacious room. I met with the developers of the French bank. Tinkoff Bank’s application made a big impression on them.







Day 4. Adaptivity, iMessage Apps, Neural Networks, Debugging, App Review Lab.



Adaptivity. Apple is actively promoting the ideas “the application must adapt its interface to any screen size” and “iOS does a lot for you.” This year new tools for debugging layouts on specific devices were presented. They told about TraitCollection, SizeClass and AuturesizingMask.

Session 222 Making Apps Adaptive, Part 1

Session 223 Making Apps Adaptive, Part 2







iMessage Apps. The process of creating an interactive iMessage application was reviewed. The SDK provides great opportunities for all sorts of applications. They told about Message Layout, application life cycle, group chats, compact and complete presentation. It is worth noting that for iMessage Apps is not necessarily the presence of the main application.

Session 224 iMessage Apps and Stickers, Part 2



Neural Networks. Apple began to actively use neural networks in its applications (for example, in the new “Photo” application). For developers will be available Accelerate Framework, which allows you to work with vectors, linear algebra and image processing.

Session 715 Neural Networks and Accelerate



Debugging XCode 8 has many new tools for finding bugs and problem areas:

- Senitizer - debugging multithreaded code;

- Static analyzer;

- Localization Analizator - localization debugging.

Session 412 Thread Sanitizer and Static Analysis



App Review Lab. The WWDC has the opportunity to ask your questions to the App Store censors. I was interested in the question of payment of charity in the applications. Censor clearly answered - no, in any way. Payments to charitable organizations are allowed to be made only from Safari (you cannot embed it in the application through WebView).



In the evening there was an official Apple party, where Good Charlotte performed.







Day 5. Proactive Suggestion, Protocol Oriented programming, Logging, UI Design Lab.



Proactive Suggestion. In iOS, there is a system that analyzes user behavior and prompts certain applications on the lock screen or in the ambiguity menu. Now it is possible to display contacts from instant messengers and social networks. Also appeared proactive address hints. New features work through the NSUserActivity mechanism.

Session 240 Increase Usage Of Your App With Proactive Suggestions







Protocol Oriented programming. Apple continues to develop the idea of ​​protocol-oriented programming in Swift. Apple engineers told how they see the application architecture, how to reuse the code, and when it is better to use the Value-type. Rather difficult session, requiring a more detailed immersion.

Session 419 Protocol and Value Oriented Programming in UIKit Apps



Logging. A new mechanism was introduced with logging levels, nesting and logging. So far it is unclear whether this mechanism will be able to replace the beloved by many Lumberjack.

Session 721 Unified Logging and Activity Tracing



UI Design Lab. One of the most useful labs who wanted to get here was a lot, so you need to record through the site. You are given the opportunity to show your application to Apple experts and get feedback. Communication takes place within 30 minutes with two specialists. One of the experts was very impressed with the design of our application, while the other gave practical advice on how to improve the interface. In particular, it was proposed to change the font size, change colors, synchronize the movement of the interface, make clickable elements more obvious.







This was the last day of the conference. Finally, I will say that the conference is organized perfectly. The WWDC schedule is structured in such a way that there is always room for each session. Thanks to this, I spent time with maximum benefit. The engineers at the technical labs were a little upset by insufficiently qualified engineers, but otherwise I was satisfied.



After leaving the last session, there remains an indescribable feeling of involvement in the global community of Apple developers. The head is filled with new knowledge and the desire to realize the new features of iOS 10.



Do not miss the opportunity to go to WWDC 2017. It is definitely worth it!



Source: https://habr.com/ru/post/304234/



All Articles