Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Xamarin.Forms 使いこなし術
Search
yo ohtagawa
October 28, 2016
Programming
940
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Xamarin.Forms 使いこなし術
JXUG#18で発表した内容
yo ohtagawa
October 28, 2016
More Decks by yo ohtagawa
See All by yo ohtagawa
Xamarinは流行る?
ayasesh
1
340
じゃじゃ馬UIフレームワークXamarin.Formsを活用した アプリ開発のノウハウ
ayasesh
0
740
Formsで使えるライブラリやテクニックをご紹介 〜日本酒アプリSakenomyは、Forms製です〜
ayasesh
0
3.9k
Other Decks in Programming
See All in Programming
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2k
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
210
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
480
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.5k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
470
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
340
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
400
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
190
ジョジョの世界をXRで再現する
mofurune
0
140
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
360
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
790
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
HDC tutorial
michielstock
2
950
How to train your dragon (web standard)
notwaldorf
96
6.9k
Code Review Best Practice
trishagee
74
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
RailsConf 2023
tenderlove
30
1.6k
Deep Space Network (abreviated)
tonyrice
0
360
ラッコキーワード サービス紹介資料
rakko
1
5.2M
Marketing to machines
jonoalderson
1
5.9k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
Xamarin.Forms ͍͜ͳ͠ज़ 2016/10/28 JXUG #18 @AyaseSHʢଠా ༸ʣ
͜ͷൃݴݸਓͷݟղ͕ ଟʹؚ·Ε͓ͯΓɺ ॴଐ͢Δ৫ͷެࣜݟղͰ͋Γ·ͤΜ
ࣄͰ ʮ܅ɺ͜Ε͔ΒXamarinͶʯ ͱݴΘΕͨਓ
ʮ͡Ό͋͜Μͳײ͡ͷ ɹΞϓϦΛ࡞ͬͯΑʯ ͱݴΘΕͨਓ
ࣗݾհ • ΞΧϯτID:ɹAyaseSH • ΞΧϯτ໊:ɹΦʔλΨʔʢଠా༸ʣ • ͬͨ͜ͱ:ɹຊञΞϓϦ”Sakenomy”Λ୲ • Sakenomyͱ:ɹ Wܥྻ
J04 NPOPUPVDI9BNBSJOJ04 WҎ߱ J04 "OESPJE 9BNBSJO'PSNTJ04"OESPJE
͔͍͘͏ࢲ ʮ܅ɺXamarin.FormsͶʯ ͱݴΘΕͨਓͰ͢ɻ^^;
ը૾จࣈϦιʔεͷཧ FormsͷػೳΛ͍͚ Embedded Native Controls
ը૾จࣈϦιʔεͷཧ
ը૾จࣈϦιʔεͷཧ • XamarinͰϦιʔεΛPCLཧ͢ΔͨΊʹ RESX(Resource File)͕༻Մೳ • VSͰςΩετͷϦιʔεཧͱͯ͠͏ͷͱಉ͡ • આ໌ͱͯ͠XamarinͷެࣜυΩϡϝϯτಡΊे •
ը૾αϙʔτ͞Εͯ·ͤΜ͕ɺؤுΕग़དྷ·͢ɻ ৄ͘͠ moonmile͞ΜͷϒϩάهࣄΛʂ
ϩʔΧϥΠζΔͱ͖ͷҙ • PCLiOSͰ ‘zh-Hans’, ’zh-Hant’͕͑·͕͢ɺ Xamarin.AndroidͰ ‘zh-CN’, ‘zh-TW’͔͑͠ͳ͍ • iOSͰResxΛ༻͢Δ߹ඞཁͳ͍Ͱ͕͢ɺ
info.plistͰCFBundleLocalizationsʹݴޠίʔυΛઃఆ ͠ͳ͍ͱίϯτϩʔϧͷσϑΥϧτςΩετ͕มΘΒͳ ͍ ex: PickerKeyboardͷDone NavigationͷBack
Xamarin Studio͋Δ͋Δ • XSͰσϑΥϧτ໊ͷ ”Resources” มߋਪ Xamarin.Forms.Resources Ϋϥε͕ଘࡏ͢ΔͷͰඃΓ ·͢ •
VSσβΠφʔͰՃͰ͖Δ͕ XSXmlͰΔ͔͠ͳ͍…ͭΒ͍… <data name=“Hoge_Text" xml:space="preserve"> <value>Hoge</value> <comment>͜Ε΄͛Λදࣔ͢ΔςΩετͰ͢</comment> </data>
ࢲతݟղ ͦͷ̍ • Ͳ͜·Ͱڞ༗͢Δʁ • Xamarin.FormsʢPCLʣͰݺͼग़͢ςΩετϚετ • ઃఆͰݺͼग़͢ςΩετωΠςΟϒ • ios:
ΞϓϦ໊ ϓϥΠόγʔΞΫηεͷUsageDescription ← new! • android: ΞϓϦ໊ • ը૾ωΠςΟϒͷํ๏ • ݴޠͱαΠζͷ͕ؔີ • ͍͜͠ͱߟ͑ΔΑΓී௨ͷํ๏Ͱ σόΠεʹ༏͍͠ΞϓϦ͕͓͢͢Ί
ࢲతݟղ ͦͷ2 • ϩʔΧϥΠζͱ͍͏ࢹͰߟ͑Δ • ݴޠը૾Λม͑Δͷαϙʔ τ͞Ε͍ͯΔ • ͕ʂਂ͘ϩʔΧϥΠζͱߟ͑Δͱ ͦͦFormsΛ͏͜ͱΛߟ͑
͠·͠ΐ͏ • ΞϥϏΞޠͳͲͷςΩετ͕ӈ͔Βࠨ ͷݴޠͷ߹Layout Λࠨӈٯʹ ͢Δඞཁ͕͋Γ·͢ • αϙʔτΛߟ͑ΔͳΒΦϨΦϨ࣮ ͢ΔΑΓωΠςΟϒ͔Βαϙʔτ͞ Ε͍ͯΔػೳΛ͍·͠ΐ͏(^^)
FormsͷػೳΛ͍͚
FormsͷػೳΛ͍͚ • Triggers • Behaviors • Effects • Custom Renderers
• Dependency Service • Messaging Center • Properties Dictionary
FormsͷػೳΛ͍͚ • Triggers PCLͷΈͰগ͠Πϕϯτ͔ΒViewΛม͍͑ͨɻ͔ͯ͠͠ ValueConverter? • Behaviors PCLͷΈͰ৽͍݅͠Λ૿͢ɻ˓˓ͯ͠Έͨɻ • Effects
Platformຖ࣮Ͱ͖Δɻ࠶ར༻ੑ͕ߴ͍ ← ͕͜͜ॏཁ • Custom Renderers ͳΜͰग़དྷΔ༏ੜɻListViewͰ Custom RendererҎ֎͋Γ͑ͳ͍www • Dependency Service FormsͷఱఢɻϋʔυͷAPIΛݺΜͩΓɺPlatformͷҧ͍ΛΫογϣϯͯ͘͠ΕΔ • Messaging Center ϫʔΫΞϥϯυɻͲ͔͜ΒͰϝοηʔδΛૹΓɺड৴ଆʹॲཧͤ͞Δ͜ͱ͕ग़དྷΔ • Properties Dictionary ϫʔΫΞϥϯυɻͲ͔͜ΒͰForms͕ఏڙͯ͘͠ΕΔσΟΫγϣφϦʔʹอଘग़དྷΔ
ࢲతݟղ νʔτ ਖ਼͍͠ ָ 5SJHHFST #FIBWJPST ۤ 1SPQFSUJFT %JDUJPOBSZ .FTTBHJOH
$FOUFS &⒎FDUT $VTUPN 3FOEFSFST
ࢲతݟղ νʔτ ਖ਼͍͠ ָ 5SJHHFST #FIBWJPST ۤ 1SPQFSUJFT %JDUJPOBSZ .FTTBHJOH
$FOUFS &⒎FDUT $VTUPN 3FOEFSFST %FQFOEFODZ4FSWJDF
Native Embedding
Embedded Native Controls • PlatformಠࣗͷίϯτϩʔϧΛFormsͰݺͼग़ͤΔ • v2.3.0 ʹshared projectͷΈՄೳ •
v2.3.3 ͔ΒɺxamlͷΈPCLͰՄೳ • ͨΓલͰ͕͢… ݱࡏɺ x:Name ༻ෆՄ ίʔυϏϋΠϯυ͕ग़དྷͳ͍ͷͰBindingʹͯߦ͍· ͠ΐ͏ɻ
• ωΠςΟϒΒͳ͍ͱίʔσΟϯά͕େม… • ࢥͬͨ͜ͱ • ίʔυϏϋΠϯυ͍ͨ͠ • Ͱ͖ͳͯ͘ωΠςΟϒͰRendererͰ͖Ε… • ͏ͪΐͬͱௐ·͢ʂ
͍ൃදͰ͕ͨ͠ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͦͯ͜͠Ε͔Β͕ ຊ൪Ͱ͢ʂʂ(๑•̀ŷ•́)و✧