JMDC TECH BLOG

JMDCのエンジニアブログです

Impressions about iOSDC Japan 2022 and React Native Matsuri 2022

Hello, my name is Rodolphe and I’m working at JMDC as a mobile developer.

Please let me use English for this post! 🙏

iOSDC Japan 2022

Lately, there have been some interesting conferences about the mobile engineering world. Last month was held the iOSDC, a huge conference for developers whose main theme is technologies related to iOS. The event took place over 3 days, from Saturday September 10th to Monday September 12nd. I watched most of the event on Monday and a small part on Saturday.

The edition was once again available offline, i.e. on-site at Waseda University in Shinjuku, after the previous two were only available online due to the pandemic.

Credits: iOSDC2022 https://iosdc.jp/2022/

In my case I preferred to attend the online version for 2500 yen. There were five tracks available simultaneously online on niconicoDouga and it was possible to change the track at any time. Most of the time, there were several talks going on at the same time, and I had to plan in advance which talks I was going to watch.

You can find the timetable of the past event here, in order to have a global idea of the talks that took place: https://fortee.jp/iosdc-japan-2022

The talks were very diversified: from the experience feedback following the use of a library or a tool; the presentation of a new API; the changes related to an OS update; etc. There were over 70 technical talks, plus 23 Lightning Talks, which are short talks condensed into 5 minutes each!

In this article, I'll tell you about some of the talks that I found interesting and that I could watch! 

PWA

fortee.jp

Presented by ZozoNext, this talk was about PWA, or "Progressive Web App", and more precisely, about the future of this tech and its support on iOS.

A PWA is basically a hybrid between a normal web page and a native mobile application. They are supposed to work for every browser, being responsive, secure, and having an "app-like" design and navigation.

Among the merits of this technology, we can cite the fact that a PWA app is searchable from a browser online but looks like a native app and uses native apis (gestures, etc.), and has better performance for older devices. Because it is basically a web page, it is not searchable from the app stores.

During the talk, it was also explained that some features inherent to native applications, such as push notifications or the use of hardware such as the camera, were also possible with the PWA. However, it seems that we need to wait for Safari 16 for the support of Push notifications in iOS.

The speaker then ended the talk by explaining in which situations it is better to use Progressive Web Apps (slide below).

Bazel

fortee.jp

Another interesting talk was given by an developer from LINE. They have integrated into their iOS app build environment another build system, Bazel. This system, different from the classic "xcodebuild" of XCode, promises app builds twice as fast. They could therefore go from 30 to 15 minutes of build time only. 

Because LINE is now a huge app with more than 2 million lines of code, they could profit from the benefit of doubling their build speed using that tool, but they also faced the disadvantage of increased maintenance costs. And even if the benefits are great, the balance of merits and demerits seems to be bad:

  • Too many hacks to make it work 
  • Issues on M1 MacBooks
  • New issues every time the OS is updated
  • Breakpoints on debug build are not working correctly

However, they want to continue to use it with the default xcodebuild system and make a hybrid build system.

To be fair, this talk convinced me not to use Bazel because the maintenance costs seem to be too high. 😅

ARKit

fortee.jp

An impressive talk about what we can do using the user's face in augmented reality using ARKit. The speaker made a presentation of a game where you can shoot lasers with your eyes if your mouth is open! Basically, the front camera of the iPhone is analyzing your face while the back camera is also used at the same time to show the game with the virtual elements.

It makes you want to try it in the sandbox sample app!

Safari extension

XCode is mostly used to create mobile and tablet applications, but I didn't know that it was possible to create extensions for Safari with XCode. A demo with code explained how to remove an element from a Wikipedia page using JavaScript in a Safari extension.

The demo repository is available here: github.com

Lightning Talks

One moment I really appreciated during the iOSDC was the lighting talks, or "LT." A dozen speakers have only five minutes to talk about their subject! Of course, this doesn't allow them to develop their subject as they want, but it does allow them to talk about many different subjects. There were a total of 23 LT over the 3 days of the conference. Here are some of them:

Build app for CarPlay

fortee.jp

This talk was about creating applications specifically dedicated to cars. The creation of the UI is limited to a dozen predefined templates (map, list, grid, etc.), and it is possible to create applications for navigation, communication, or EV charging. But it seems that it is pretty limited after all, and there are few opportunities to make a CarPlay app. The speaker also gave some example of codes:

Read credit cards using Visionkit

fortee.jp

This talk was about using the VisionKit framework in order to read credit card information. It's quite a frequent feature in payment or banking applications, and I always find it interesting to know how these kinds of frameworks work.

GDPR

fortee.jp

Another LT that did surprise me was about the GDPR, which stands for "European Union's General Data Protection Regulation" and the impact of this on the app review guidelines when submitting an app when trying to reach foreign countries.

Some other examples of others LT:
  • A very technical and impressive talk about the Tokyo Corporation and their application to track the train. Many points were discussed, such as the real-time architecture of the data update or the technologies used to track the signal systems, tracks, and vehicles. 
  • A talk about jailbreaking iPhones and if it is worth it or not due to the high frequency of new OS updates.

Others events

If you are interested in the event, consider attending next year! If you are not interested in iOS, please know that there are other events that have taken place recently.

DroidKaigi

credits: DroidKaigi https://droidkaigi.jp/2022/

For example, the DroidKaigi, which took place on October 5th, 6th, and 7th and whose main theme, as you can imagine, was around Android.

I couldn't watch it this year, but it seems to be a very popular conference and quite large. Similar to the iOSDC, several tracks were running simultaneously from about 10 am to 5 pm for 3 days with a busy schedule, so it's easy to find a talk that fits you best!

The replay of the event is available for free on their YouTube channel here: DroidKaigi - YouTube

And here is also their schedule if you need a timecode for the replay or just to give you an idea of the talks that took place: https://droidkaigi.jp/2022/timetable/

React Native Matsuri 2022

credits: react-native-matsuri https://reactnative-matsuri.com/ja

Although smaller, another event also took place: the "React Native Matsuri 2022 ", which occurred on October 8th from 10 a.m. to 5 p.m. The main topic was obviously React Native technology or what revolves around it. JMDC was a silver sponsor of the 2022 event, and even two of our developers from the UP group, Kawane-san and Yamamoto-san, also held talks about React Native for the web and EAS build respectively.

The other talks were quite varied:

One was about A/B testing with Firebase, which allows you to split the users into different groups and give a different version of your app to each one simultaneously, so it can help to compare the performance of the different versions.

Another was about the basics of creating an Android or iOS native module for React Native, and another one was about the total rewrite of the US application of Mercari using React Native.

You can watch the replay video on YouTube at anytime here.


Conclusion

It was very difficult to choose which you wanted to see as tracks were running simultaneously, but it was fun to watch and I was impressed with the quantity and diversity of topics presented!

Thank you for reading!