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
JLRoutesについて
Search
ninjinkun
March 12, 2014
Technology
2.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JLRoutesについて
ninjinkun
March 12, 2014
More Decks by ninjinkun
See All by ninjinkun
買収から2ヶ月でシステム統合した話
ninjinkun
0
170
Designer's and Engineer's Thinking Styles
ninjinkun
0
310
Launchable Webinar テストを効率化して生産性を上げる方法
ninjinkun
2
610
ディープリンクの 設計と実装 - iOSDC2017
ninjinkun
18
11k
スマートフォンアプリ開発における共創的な開発チーム
ninjinkun
61
19k
ReSwiftでアプリの状態管理 / Reactive Swift Meetup
ninjinkun
9
17k
フリルのアプリ開発今昔物語
ninjinkun
3
2.3k
プロトタイピング合宿によるデザインリニューアル
ninjinkun
1
3.1k
デザイナーが仕事をしやすいアプリエンジニアを考える
ninjinkun
4
750
Other Decks in Technology
See All in Technology
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
420
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
150
Devsumi 2026 Summer 人もAIも使える共通基盤を事業の加速装置にする~デザインシステム運用に学ぶ組織レバレッジ~ 渡辺 凌央
legalontechnologies
PRO
1
240
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
0
150
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
290
アップデートで何が変わった?デモで学んで使いこなすIBM Bob2.0
muehara
0
160
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
12
8.7k
“それは自分の仕事じゃない"を越えて行け
yuukiyo
1
480
公式ドキュメントの歩き方etc
coco_se
1
120
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
3
4.2k
穢れた技術選定について
watany
17
5.6k
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.1k
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Agile that works and the tools we love
rasmusluckow
331
22k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2k
Are puppies a ranking factor?
jonoalderson
1
3.7k
Building Applications with DynamoDB
mza
96
7.1k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
350
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
870
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
Transcript
+-3PVUFTʹ͍ͭͯ OJOKJOLVO
J04ΞϓϦͱ63-εΩʔϜ w 8FCϖʔδ͔ΒΞϓϦΛىಈͯ͠ίϯςϯπΛදࣔ w ϩάΠϯॲཧͳͲͷϑϩʔͷҰ෦ w ଞΞϓϦͱͷ࿈ܞ 63-εΩʔϜ͕ඞཁʹͳΔ߹
J04ΞϓϦͱ63-εΩʔϜ w εΩʔϜΛઃఆ ! w ύεΛύʔε w OKLTFBSDI w ΫΤϦΛύʔε
w OKLTFBSDI RQPUBUPUJQT w ॲཧΛىಈ ॲཧͷྲྀΕ
J04ΞϓϦͱ63-εΩʔϜ ࣮ྫ -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { if ([url.path isEqualToString:@“/search"])
{ NSString *searchQuery; NSArray *queries = [url.query componentsSeparatedByString:@"&"]; for (NSString *query in queries) { NSArray *keyValue = [query componentsSeparatedByString:@"="]; if (keyValue.count == 2) { if ([keyValue[0] isEqualToString:@"q"]) { searchQuery = keyValue[1]; // Search query found!! } } } ! SearchResultViewController *viewController = [[SearchResultViewController alloc] initWithQuery:query]; [self showViewController:viewController]; return YES; } } OKLTFBSDI RQPUBUPUJQT
J04ΞϓϦͱ63-εΩʔϜ w ϧʔςΟϯάͷϧʔϧهड़ͱॲཧ͕͞Ε͍ͯͳ͍ w "QQ%FMFHBUFʹͨॻ͖͕ͪ͠ w JGจ͕ͲΜͲΜ૿͍͑ͯ͘ w ΫΤϦΛखͰύʔε͍ͯ͠Δ w
/463-ʹΫΤϦΛߏମͱͯ͠औΓग़͢Έ͕ ͳ͍ w ΈΜͳΦϨΦϨΫΤϦύʔαʔΛ࣋ͭΑ͏ʹͳΔ Կ͕͔
J04ΞϓϦͱ63-εΩʔϜ w ύεʹม͕ೖ͍ͬͯΔͱݸผʹύʔε͢Δඞཁ͕͋ Δ w VTFSOJOKJOLVOQSPpMF w શ෦ΫΤϦʹೖΕͯ͘ΕʜΈ͍ͨͳؾʹͳͬͯΑ͘ ͳ͍ !
w ʜͱ৭ʑ͋ͬͯมߋʹऑ͍ Կ͕͔
+-3PVUFT w 63-ͷύλʔϯͱCMPDLTΛొ w 63-͕དྷͨΒCMPDLTΛىಈ w 4JOBUSB3PVUFSMJLFͳΠϯλʔϑΣΠε w ύϥϝʔλʔͷड͚͠ͳͲαϙʔτ w
IUUQTHJUIVCDPNKPFMEFW+-3PVUFT
+-3PVUFT ͍ํ JLRoutes *router = [JLRoutes routesForScheme:@“njk"]; ! [router addRoute:@"/search"
handler:^BOOL(NSDictionary *parameters) { NSString *searchQuery = parameters[@“q"]; ! SearchResultViewController *viewController = [[SearchResultViewController alloc] initWithQuery:searchQuery]; [self showViewController:viewController]; return YES; }]; ! [router addRoute:@"/users/:user_id" handler:^BOOL(NSDictionary *parameters) { NSString *userId = parameters[@"user_id"]; ! UserViewController *viewController = [[UserViewController alloc] init]; viewController.userId = userId; [self showViewController:viewController]; return YES; }];
+-3PVUFT w ϧʔςΟϯάϧʔϧͷొͱ࣮ߦΛͰ͖Δ ͍ํ @implementation AppDelegate ! -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL
*)url { JLRoutes *router = [JLRoutes routesForScheme:@"njk"]; return [router routeURL:url]; } ! @end
ଞϥΠϒϥϦͱͷൺֱ w /JNCVT,JUTPDLJU w 4USJOH0CKFDU$PEJOHGPS0CKFDUJWF$ w จࣈྻͷύλʔϯ͔ΒΦϒδΣΫτͷੜ·Ͱͬͯ͘ΕΔ w SPVUBCMFJPT w
63-6*7JFX$POUSPMMFS w ֎෦͔Β63-εΩʔϚΛىಈ͢Δ͜ͱఆ͍ͯ͠ͳͦ͞͏ w +-3PVUFT w 63-ͱCMPDLTͷσΟεύον͚ͩʹಛԽͯ͠γϯϓϧ
·ͱΊ w 63-εΩʔϜΛ͏͜ͱ͕͋Ε+-3PVUFΦεεϝ w 4JOBUSB3PVUFSMJLFͳͷͰهड़͕γϯϓϧͰมߋ ؆୯
͓·͚ 9DPEF "3$@45"/%"3%
"3$@45"/%"3% w 9DPEF w "3$@45"/%"3%BSNWBSNWT w 9DPEF w
"3$@45"/%"3%BSNWBSNWTBSN ! w CJUະରԠͷϥΠϒϥϦ͕͍ࠞͬͯ͟ΔͱϏϧυͰ ͖ͳ͍
"3$@45"/%"3% w खͰࢦఆ͢Δͱ$PDPB1PETͰ͚͜Δ ! ! ! ! w
ෳͷ"3$)4ΛϋϯυϦϯάͰ͖ͳ͍όά ͕͋Δ $PDPB1PET
"3$@45"/%"3% w 45"/%"3%@"3$)@@#*5 Λ͑ղܾ ! ! w
݁ہCJUରԠ͕ਖ਼ಓ w ͓͍ͷϥΠϒϥϦ͕CJUରԠ͢ΔΛͪ·͠ΐ͏ 4PMVUJPO
"3$@45"/%"3% 4PMVUJPO