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
0
140
基于Xamarin 2.0的跨平台移动开发
基于Xamarin 2.0的跨平台移动开发
cngump
May 06, 2013
Tweet
Share
More Decks by cngump
See All by cngump
iOS开发中的MVC
cngump
2
1.8k
构造基于Coretext的排版引擎
cngump
1
470
IM DIY
cngump
1
260
Mac OS APP 的沙盒和相关审核技术
cngump
0
570
Other Decks in Programming
See All in Programming
The free-lunch guide to idea circularity
hollycummins
0
270
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
270
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
650
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.4k
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
390
CSC307 Lecture 14
javiergs
PRO
0
480
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
130
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
400
OTP を自動で入力する裏技
megabitsenmzq
0
120
エラーログのマスキングの仕組みづくりに役立ったASTの話
kumoichi
0
240
How to stabilize UI tests using XCTest
akkeylab
0
130
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
150
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
410
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
280
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
480
Ethics towards AI in product and experience design
skipperchong
2
230
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
390
Optimizing for Happiness
mojombo
378
71k
HDC tutorial
michielstock
1
560
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
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⽇日星期六