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 2.0的跨平台移动开发
Search
cngump
May 06, 2013
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
基于Xamarin 2.0的跨平台移动开发
基于Xamarin 2.0的跨平台移动开发
cngump
May 06, 2013
More Decks by cngump
See All by cngump
iOS开发中的MVC
cngump
2
1.8k
构造基于Coretext的排版引擎
cngump
1
480
IM DIY
cngump
1
260
Mac OS APP 的沙盒和相关审核技术
cngump
0
580
Other Decks in Programming
See All in Programming
Built Our Own Background Agent at LayerX
layerx
PRO
9
5k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
280
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.3k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
220
Google Apps Script で Ruby を動かす
kawahara
0
130
継続モナドとリアクティブプログラミング
yukikurage
3
690
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
340
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
530
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
霧の中の代数的エフェクト
funnyycat
1
480
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
Facilitating Awesome Meetings
lara
57
7.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The Spectacular Lies of Maps
axbom
PRO
1
890
How to train your dragon (web standard)
notwaldorf
97
6.7k
How STYLIGHT went responsive
nonsquared
100
6.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
240
Transcript
基于Xamarin 2.0的跨平台移动开发 华南师范⼤大学⺴⽹网络教育学院程序开发总监 卢建晖 13年4月20⽇日星期六
概要 • ⾃自我介绍 • 谈谈移动开发 • Mono • Xamarin •
CrossPlatform 13年4月20⽇日星期六
⾃自我介绍 关于我司的应⽤用可以访问 http://app.gdou.com 13年4月20⽇日星期六
移动开发 iOS 2007 .9 Android 2008 .10 WindowsPhone 2010 .10
Windows 8/RT 2012.10 13年4月20⽇日星期六
Windows 8/RT iOS Windows Phone Android WinJS+Html5/C#+XAML(Visual Studio) C#+XAML(Visual Studio)
Java+XML(Eclipse) Objective-C+.xib/.storyboard(Xcode) 13年4月20⽇日星期六
iOS Windows (Windows Phone/Windows 8) Android 企业内部的移动开发 proj1 proj2 proj3
proj4 proj1 proj2 proj3 proj4 proj4 proj3 proj1 proj2 13年4月20⽇日星期六
企业在移动终端开发中所⾯面临的问题 平台越多,开发成本就越⼤大 内部员⼯工就是码农,需要不断学习,⽽而且培训费⽤用⾼高 管理统筹难 ...................... ⽤用⼀一种语⾔言,便捷的开发⼯工具去简化开发团队? 13年4月20⽇日星期六
Mono Mono是跨平台的.net 开发环境,之前是⼀一个由Novell 公司主持的项⺫⽬目。该项⺫⽬目的⺫⽬目标是创建⼀一系列符合ECMA 标 准(Ecma-334 和Ecma-335)的.NET ⼯工具,包括C# 编译器和共通语⾔言执⾏行平台。与微软的.NET Framework
不同,Mono 项⺫⽬目不仅可以运⾏行于Windows 系统上,还可以运⾏行于Linux,FreeBSD,Unix,Mac OS X 和Solaris。 App Class Library Common Language Runtime Operating System MonoTouch MonoAndroid MonoWeb C# 13年4月20⽇日星期六
MonoTouch(Mono for iOS) 使⽤用静态编译(Ahead-Of-Time)⽅方式将C#代码编译为 ARM⼆二进制代码。 这⾥里要说明⼀一下,使⽤用MonoTouch创建的每⼀一个应⽤用程序都是独⽴立的,也就是说应⽤用程 序所需要的东⻄西都要打包,之所以这样是因为iPhone不允许使⽤用共享库。MonoTouch通过 绑定⽅方式向C#公开iPhone的原⽣生库,因⽽而不⽤用在语⾔言之间做转换。 MonoDroid(Mono for
Android) 是将C# 代码编译成IL封装到MonoVM+JIT. 13年4月20⽇日星期六
MonoTouch Demo 13年4月20⽇日星期六
为何选择Mono UI层(原⽣生UI) UI逻辑组织 核⼼心 数据层 数据逻辑层 安全层 业务逻辑层 服务访问层 虽然每个移动端的UI展现不同,但是核⼼心功能
都是⼀一样,⽽而这些代码是可以重⽤用 。虽然可能 调⽤用类库不⼀一样,但是也可以通过判断预加载 进⾏行处理。 13年4月20⽇日星期六
iOS UI层(原⽣生UI) UI逻辑组织 核⼼心 数据层 数据逻辑层 安全层 业务逻辑层 服务访问层 Android
UI层(原⽣生UI) UI逻辑组织 WindowsPhone UI层(原⽣生UI) UI逻辑组织 Windows 8/RT UI层(原⽣生UI) UI逻辑组织 通过C#实现跨移动平台的逻辑代码共享 13年4月20⽇日星期六
Xamarin 2.0 新的开始 新的Xamain Studio 作为Visual Studio 的插件,进⾏行iOS/Android的开发 组件商城(http://components.xamarin.com/) aync
/ await 13年4月20⽇日星期六
再谈跨平台 设计模式 MVC / MVP / MVVM 代码共享 file share
link 异步 虽然不同平台在异步线程⽅方⾯面有不同,但是也可以通过C#的语⾔言特性 去优化 Xamarin.Mobile 13年4月20⽇日星期六
在Visual Studio 上的简单Demo 13年4月20⽇日星期六
谢谢 13年4月20⽇日星期六