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
930
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
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
100
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
180
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
220
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
53
35k
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
110
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
210
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
120
Featured
See All Featured
Paper Plane
katiecoart
PRO
2
53k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Accessibility Awareness
sabderemane
1
200
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
340
Making Projects Easy
brettharned
120
6.7k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
Become a Pro
speakerdeck
PRO
31
6.2k
Automating Front-end Workflow
addyosmani
1369
210k
From π to Pie charts
rasagy
0
350
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Ͱ͖Ε… • ͏ͪΐͬͱௐ·͢ʂ
͍ൃදͰ͕ͨ͠ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͦͯ͜͠Ε͔Β͕ ຊ൪Ͱ͢ʂʂ(๑•̀ŷ•́)و✧