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 2.0的跨平台移动开发
Search
cngump
May 06, 2013
Programming
160
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
490
IM DIY
cngump
1
270
Mac OS APP 的沙盒和相关审核技术
cngump
0
590
Other Decks in Programming
See All in Programming
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
Java 27新機能 / Java 27 new features
kishida
2
200
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.4k
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
340
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Jetpack Compose Mechanisms
skydoves
2
340
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
290
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
setup-vp GitLab対応の裏側
naokihaba
0
150
Simple Storage Service(S3) is not simple
iwatsukayura
0
190
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
540
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
310
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Optimizing for Happiness
mojombo
378
71k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
430
The browser strikes back
jonoalderson
0
1.8k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Making the Leap to Tech Lead
cromwellryan
135
10k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
450
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
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⽇日星期六