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
Xamarin.Forms 使いこなし術
Search
yo ohtagawa
October 28, 2016
Programming
920
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
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
180
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
430
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
300
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
210
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
190
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
160
プロポーザルを書いてもらう
pvcresin
0
560
仕様駆動開発の消費期限
watany
20
8.7k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
230
AIを紡ぐPMのお話
swdtkuy
0
120
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.9k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
Test your architecture with Archunit
thirion
1
2.3k
How to Talk to Developers About Accessibility
jct
2
520
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Technical Leadership for Architectural Decision Making
baasie
3
500
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
470
Game over? The fight for quality and originality in the time of robots
wayneb77
1
250
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
800
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
270
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Ͱ͖Ε… • ͏ͪΐͬͱௐ·͢ʂ
͍ൃදͰ͕ͨ͠ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͦͯ͜͠Ε͔Β͕ ຊ൪Ͱ͢ʂʂ(๑•̀ŷ•́)و✧