Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
iOS8の Custom Keyboard について
Search
haranicle
September 27, 2014
Technology
2
1.3k
iOS8の Custom Keyboard について
yidev 第16回勉強会で発表した資料です。
https://atnd.org/events/55682
haranicle
September 27, 2014
Tweet
Share
More Decks by haranicle
See All by haranicle
戦略的手抜きをするためのデザインシステム運用
haranicle
1
3.5k
bitFlyer ウォレット リニューアルの裏側
haranicle
0
160
多次元宇宙と画面遷移
haranicle
0
370
ハッピーな開発チームを築くために iOSエンジニアがしたこと
haranicle
5
15k
Playground芸
haranicle
6
1.9k
I💖Xcode Plugins
haranicle
0
160
Apple WatchのGlanceについて
haranicle
3
2.6k
Xcode6のFramework Templateについて
haranicle
2
2.7k
Other Decks in Technology
See All in Technology
“プロダクトを好きになれるか“も QAエンジニア転職の大事な判断基準だと思ったの
tomodakengo
0
120
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
130
API の仕様から紐解く「MCP 入門」 ~MCP の「コンテキスト」って何だ?~
cdataj
0
140
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
120
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
Introduction to Bill One Development Engineer
sansan33
PRO
0
250
AWS と定理証明 〜ポリシー言語 Cedar 開発の舞台裏〜 #fp_matsuri / FP Matsuri 2025
ytaka23
9
2.4k
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
240
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
1
210
Create a Rails8 responsive app with Gemini and RubyLLM
palladius
0
110
Copilot Agentを普段使いしてわかった、バックエンド開発で使えるTips
ykagano
0
190
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
380
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Cult of Friendly URLs
andyhume
79
6.4k
Adopting Sorbet at Scale
ufuk
77
9.4k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Building Adaptive Systems
keathley
43
2.6k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
Building Applications with DynamoDB
mza
95
6.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Transcript
J04ͷ $VTUPN,FZCPBSE ʹ͍ͭͯ !IBSBOJDMF
ࣗݾհ !IBSBOJDMF ݪҰ࢙ Β͔ͣ͠ /55ιϑτΣΞגࣜձࣾ ❉❉❉ J04ΞϓϦ։ൃ J04ϓϩδΣΫτͷٕज़ࢧԉ ͨ·ʹαʔόαΠυ
ͱ͖Ͳ͖"OESPJE
ݸਓతʹͭͬͨ͘ͷ ✴ಛघจࣈ ✴ػछґଘจࣈΛೖྗͰ͖Δ ΞϓϦ ✴"QQ4UPSFແྉϥϯΩϯάɹ Ґ ✴"QQ4UPSFϕετ৽ண"QQ ✴J04ʹҠ২தʜ
ΞδΣϯμ ✴"QQ&YUFOTJPOೖ ✴$VTUPN,FZCPBSEͱ ✴͍͘͢͢ΔͨΊʹ ✴։ൃͭΒ͍ϙΠϯτ ✴Ͱ͖Δ͜ͱɺͰ͖ͳ͍͜ͱ
"QQ&YUFOTJPOೖ
✴J04͔Βಋೖ͞ΕͨΞϓϦͷ֞ࠜΛ ͑ͯػೳΛఏڙͰ͖Δ͘͠Έ ✴5PEBZ 4IBSF "DUJPO 1IPUP&EJUJOH %PDVNFOU1SPWJEFS
$VTUPNLFZCPBSE ͷछྨ ✴ొਓ "QQ&YUFOTJPO WJB"QQ&YUFOTJPO1SPHSBNNJOH(VJEF
$VTUPN,FZCPBSEͱ
$VTUPN,FZCPBSEͱ ✴γεςϜΩʔϘʔυͷΘΓʹ༻Ͱ ͖ΔΩʔϘʔυ ✴$POUBJOJOH"QQΛΠϯετʔϧͯ͠ ઃఆҰൠΩʔϘʔυͰՃͰ͖Δ $POUBJOJOH"QQ໊ $POUBJOJOH"QQͷ*OGPQMJTU &YUFOTJPOͷ λʔήοτ໊
&YUFOTJPOͷ*OGPQMJTU
$VTUPN,FZCPBSEͷߏ ඞͣઃஔ͠ͳ͍ͱ͍͚ͳ͍ WJB"QQ&YUFOTJPO1SPHSBNNJOH(VJEF
$VTUPN,FZCPBSEͱ ✴σβΠϯ ✴ύλʔϯ͋Δ ΞϓϦ 4QPUMJHIU
͍͘͢͢ΔͨΊʹ
͕ݴ͏ʹʜ 5PVOEFSTUBOEXIBUVTFSTFYQFDUPGZPVSDVTUPN LFZCPBSE TUVEZUIFTZTUFNLFZCPBSE JU’TGBTU SFTQPOTJWF BOEDBQBCMF "OEJUOFWFSJOUFSSVQUTUIFVTFS XJUIJOGPSNBUJPOPSSFRVFTUT *GZPVQSPWJEFGFBUVSFTUIBUSFRVJSFVTFSJOUFSBDUJPO
BEEUIFNOPUUPUIFLFZCPBSECVUUPZPVS LFZCPBSE’TDPOUBJOJOHBQQ WJB"QQ&YUFOTJPO1SPHSBNNJOH(VJEF
Ͳ͏͢Δ͔ ✴$VTUPN,FZCPBSEදࣔຖʹ 6**OQVU7JFX$POUSPMMFS͕JOJU͞ΕΔ ✴JOJUˠWJFX%JE"QQFS·ͰͷॲཧΛՄ ೳͳݶΓܰ͘͢Δ ຯͳΞχϝʔγϣϯͰ͝·͔͢ʜ ✴ຖճॳظঢ়ଶʹΔͱΘ͍͠ͷͰ લճදࣔͨ͠ঢ়ଶΛ෮ݩͯ͋͛͠Δ ✴/46TFS%FGBVMUTΛ͏
✴6*4UBUF3FTUPSBUJPO͑ͳ͍ ͨͿΜ
GBTUʹ͢ΔͷΛ͖͋ΒΊͨΒ ✴ΩʔϘʔυ௨Γಓ ✴ɹɹɹ͚ͩͰૣ͘දࣔͯ͋͛͠Δ ຊޠ ӳޠ ֆจࣈ $VTUPN
։ൃͭΒ͍ϙΠϯτ
σόοάͭΒ͍ ✴"QQ&YUFOTJPOTٸʹམͪΔ ✴ϩά ✴γϛϡϨʔλͰ %FCVH0QFO4ZTUFN-PHʜ ✴ͳ͔ͥQSJOUMOग़ྗ͞Εͳ͍ͷͰ /4-PHΛ͏ ✴ϒϨʔΫϙΠϯτ ✴$VTUPN,FZCPBSEىಈதʹ9DPEFͰ %FCVH"UUBDIUP1SPDFTTىಈதͷ
$VTUPN,FZCPBSEΛબ ͜ΕΔલʹམͪΔͱʗ ?P? ʘ
σόοάͭΒ͍ ✴"QQ&YUFOTJPOTٸʹམͪΔ ✴ϩά ✴γϛϡϨʔλͰ %FCVH0QFO4ZTUFN-PHʜ ✴ͳ͔ͥQSJOUMOग़ྗ͞Εͳ͍ͷͰ /4-PHΛ͏ ✴ϒϨʔΫϙΠϯτ ✴$VTUPN,FZCPBSEىಈதʹ9DPEFͰ %FCVH"UUBDIUP1SPDFTTىಈதͷ
$VTUPN,FZCPBSEΛબ ͜ΕΔલʹམͪΔͱʗ ?P? ʘ గਖ਼ 9DPEFCFUBͰ ਏ͔͚ͬͨͲ ࠓͦ͏Ͱͳ͍ 3VO͢Δͱ͖ʹ $VTUPN,FZCPBSEͷ5BSHFU Λબ͢Ε ϩάϒϨʔΫϙΠϯτಈ͘
ͭΒ͗͢ΔͷͰ ✴͏6*ύʔπ͝ͱʹผϓϩδΣΫτ ✴ී௨ʹΞϓϦͷը໘Ͱಈ࡞֬ೝ ✴ϝΠϯͷϓϩδΣΫτͰ֤6*ύʔπͷ ϓϩδΣΫτͷϑΝΠϧΛࢀর ✴࠷ޙʹ߹ମ ✴Ϋϥεઃܭେࣄʂ
͓͍ɺγϛϡϨʔλ͓͍ ✴ͨ·ʹΩʔϘʔυ͕දࣔ͞Εͳ͍ ✴)BSEXBSF,FZCPBSE5PHHMF 4PGUXBSF,FZCPBSE ⌘ , Ͱදࣔ͞ΕΔΑ͏ʹͳΔ͜ͱ͕͋Δ
Ͱ͖Δ͜ͱɺͰ͖ͳ͍͜ͱ
4UPSZCPBSE͑Δͷ͔ ✴6**OQVU7JFX$POUSPMMFSʹ͑ͳ͍ ✴6**OQVU7JFX$POUSPMMFSWJFXͷαϒ Ϗϡʔʹ͑Δ ✴4UPSZCPBSEͰ7JFX$POUSPMMFSΛ࡞ ͬͯ4UPSZCPBSE*%Λࢦఆ ✴6*4UPSZCPBSEͷ JOTUBOUJBUF7JFX$POUSPMMFS8JUI*EF OUJGJFSͰΠϯελϯεԽ
͜ΕʹίʔυͰ"VUPMBZPVUΛ ઃఆ͢Δͷ͕ͭΒ͍
ඳըͰ͖Δൣғ ✴ৗʹը໘ͷԣ෯͍ͬͺ͍ʹදࣔ͞ΕΔ ✴ߴ͞WJFX%JE"QQFSҎ߱ͷλΠϛϯ άͳΒม͑ΒΕΔ ৗʹը໘͍ͬͺ͍ ৗʹը໘͍ͬͺ͍
શͯͷೖྗΤϦΞͰ͑Δ ✴/0 ✴͑ͳ͍ύλʔϯ ✴ೖྗઌ͕6*,FZCPBSE5ZQF1IPOF1BE PS6*,FZCPBSE5ZQF/BNF1IPOF1BE ✴ೖྗઌͷTFDVSF5FYU&OUSZ͕USVF ✴)PTU"QQ͕ΧελϜΩʔϘʔυͷ༻Λ ڋ൱ ✴"QQ%FMFHBUFͷ BQQMJDBUJPOTIPVME"MMPX&YUFOTJPO1PJO
U*EFOUJGJFSͰSFUVSOGBMTF͢Δ ͜Εॏཁʂʂ
Իೖྗ ແཧ ϚΠΫʹΞΫηεग़དྷͳ͍ WJB"QQ&YUFOTJPO1SPHSBNNJOH(VJEF
จࣈྻͷબͷ੍ޚ ແཧ WJB"QQ&YUFOTJPO1SPHSBNNJOH(VJEF
ϑΝΠϧΞΫηεͰ͖Δ ✴ଞͷ"QQ&YUFOTJPOͱಉ༷ ✴"QQ(SPVQΛ༻͢Δͱ$POUBJOJOH "QQͱγΣΞͰ͖ΔྖҬ͕Ͱ͖Δ ✴γΣΞྖҬͷ63-ɺ/4'JMF.BOBHFSͷ DPOUBJOFS63-'PS4FDVSJUZ"QQMJDBUJPO(S PVQ*EFOUJGJFSͰऔಘͰ͖Δ WJB"QQ&YUFOTJPO1SPHSBNNJOH(VJEF ͜͜ʹΞΫηε͢ΔͨΊʹ
3FRVFTUT0QFO"DDFTT͕ඞཁʂ
༨ஊγΣΞྖҬͷσΟϨΫτϦ %PDVNFOUT -JCSBSZ UNQ %PDVNFOU3FWJTJPOT7 %PDVNFOU3FWJTJPOT7 CBE $POUBJOFST %PDVNFOUT
-JCSBSZ .FEJB 3PPU UNQ WBS -JCSBSZ WJB"QQ&YUFOTJPO1SPHSBNNJOH(VJEF ˞/4'JMF.BOBHFSͷDPOUFOUT0G%JSFDUPSZ"U1BUIͰ֬ೝ
3FRVFTUT0QFO"DDFTTͬͯ ✴$VTUPN,FZCPBSEͷ*OGPQMJTUͷ,FZ ✴:&4ʹઃఆ͢ΔͱҎԼ͕ՄೳʹͳΔ ✴γΣΞྖҬͷΞΫηε ✴Ґஔใऔಘɺ࿈བྷઌͷΞΫηε ✴ωοτϫʔΫͷଓ ✴J$MPVEͷΞΫηε ✴(BNF$FOUFS *O"QQ1VSDIBTFWJB $POUBJOJOH"QQ
✴ :&4ʹઃఆ͠ͳͯ͘γϛϡϨʔλͳΒͰ͖ͪΌ͏ʂ
3FRVFTUT0QFO"DDFTTͬͯ ✴3FRVFTUT0QFO"DDFTTΛ:&4ʹઃఆ ͢Δͱʜ Ϣʔβ͕0/0''ΛܾΊΒΕΔ ͔͠ σϑΥϧτͰ0''ʹͳͬͯΔ Θ͔Γʹ͍͘ʂʂ
ωοτϫʔΫଓͯ͠Έͨ ✴Ͱ͖ͨ 8FC7JFX
·ͱΊ
$VTUPN,FZCPBSE ✴ γεςϜΩʔϘʔυͷΘΓʹ༻Ͱ͖Δ ΩʔϘʔυ ✴ දࣔຖʹJOJU͞ΕΔͷͰॳظԽॲཧΛܰ͘͢Δ ✴ σόοάͭΒ͍͚Ͳ Ͱ͖ͳ͍͜ͱͳ͍ ✴
4UPSZCPBSE͑ͳ͍͜ͱͳ͍ ✴ 6**OQVU7JFX$POUSPMMFSͷ෯ը໘෯ͱಉ͡Ͱ ݻఆ͚ͩͲɺߴ͞ม͑ΒΕΔ ✴ શͯͷೖྗΤϦΞͰ͑ΔΘ͚Ͱͳ͍ ✴ 3FRVFTUT0QFO"DDFTTΛ:&4ʹ͢Δͱ͍Ζ͍ ΖͰ͖ΔΑ͏ʹͳΔ
ࢀߟ ✴ "QQ&YUFOTJPO1SPHSBNNJOH(VJEF"QQ&YUFOTJPOT*ODSFBTF :PVS*NQBDU]IUUQTEFWFMPQFSBQQMFDPNMJCSBSZJPT EPDVNFOUBUJPO(FOFSBM$PODFQUVBM&YUFOTJCJMJUZ1(JOEFYIUNM ✴ 4XJGUJ04FYUFOTJPOͷσόοάํ๏2JJUB]IUUQ RJJUBDPNUBLFUJOJUFNTFBDEECEC