LoginSignup
1
0

More than 5 years have passed since last update.

iOSDC 2018 ノート

Last updated at Posted at 2018-09-04

Day 01

ARKitのための3D算数

思ったより(甘いね〜)算数が必要だった。使ってみたいです!

Working in a multi-cultural environment with a global app

グローバルなアプリはどんな問題が現れるのか?

国によってユーザーrequirementは違う

問題解決は:

Provide customization for the default layout.
Different app layout for each country.

Always document before you act otherwise someone else could already be working on it.

Writing documentation is really important and should be very detailed otherwise on a global team they will have to search and wait until that team is awake and at work for an answer.

specification - implementation - testing are an important circle for alleviating problems.

Code PushとReact Nativeで緊急OTAリリース!了解!

Code Push is a CI and it has a free version with no limits.

Javascript is the only exception to injected code according to the app store guidelines.

Code push sounds great but I don`t want to write an app in JS...

ツールとして利用するUIテスト

Layout testing should have UITests and people checking it.

Lunch unit testing.

xcode 10 parallel tests

2 simulators had the best performance

TestSummaries is a great tool

アルゴリズムを通じてよりよいアプリを

iOS 12s speedup is due to algorithms

Landau O

autolayout is O(2n) but in 12 it is O(n)

update constraints is called 120 times per second so you should leave out heavy stuff

raw loops are bad mmkay

gotta learn those algorithms

bridging between objc and swift has a large cost

for example getting a range from the objc side took 400ms longer than just using the objc side in the first place

Day 02

Markdownをリアルタイムに解析する

The current IDEs are heavy so he wanted to try making a light version of his own.

the points he wanted to make

coloring and code styling(indent, etc)

NSTextStorageDelegate is important to this process

emoji is really difficult because it changes with the text format (UTF8, Unicode, etc.)

Swift 4.2 はどのような進化をしているのか

Swift history has lots of huge changes

4.2

random number generator became more swifty(don`t need to use arc4 anymore)
shuffle/shuffled function was added as well!

isHidden you can toggle now

so no more isHidden = !isHidden

Much more friendly with Python because of dynamic lookup

warning and #errorつかいましょう!

can check the code against the compiler version in 4.2 super convenient!

Should take a look at swift package manager...

Swift Compilerの最適化入門 - AllocBoxToStack編

SIL - Swift intermediate language

there are 100 different optimizations in swift

writing code inline helps with compile performance

コンパイラから紐解くSwift method dispatch

static is when the app is compiled

dynamic is when the method is called

Direct > V > Dynamic

final and private ちゃんと使っていきましょう
internalクラス使ってもdynamicになってしまう

宣言的UICollectionView

差分アルゴリズムの原理について

難しかったです

レガシーなアプリケーションの60fps化を目指す為にやっていること

when redoing the app it is important to put the parts that will affect user experience first

ReSwift and Redux...

broken autolayout slows down the ui alot

make views with a background and alpha as much as possible to up fps

Day 03

iOSでSwitchの複数ディスプレイ配置調整を実装してみた

Creative use of Multipeer Connectivity. I want to try using it again because in ios 8 it was terrible...

詳解Fastfile

Look up spell checker plugin for code reviews (ruboty)

private lane = Ruby Proc

add #vim: syntax=ruby and github will format it for you

verify_block looks pretty useful

leaving the changing of settings to xcode is the best idea

binding_pry使いこなしてデバッグしましょう

Depth in Depth

素晴らしいdepthの説明

リアルタイムできない。。。残念

セッションまとめ

iOSDC過去の発表

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0