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
130
基于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
430
IM DIY
cngump
1
230
Mac OS APP 的沙盒和相关审核技术
cngump
0
470
Other Decks in Programming
See All in Programming
我々のデザインシステムは Chakra v3 にアップデートします
shunya078
2
140
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
720
受け取る人から提供する人になるということ
little_rubyist
0
250
Remix on Hono on Cloudflare Workers
yusukebe
1
310
C++でシェーダを書く
fadis
6
4.1k
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
200
React への依存を最小にするフロントエンド設計
takonda
18
4.8k
Djangoの開発環境で工夫したこと - pre-commit / DevContainer
hiroki_yod
1
240
CSC509 Lecture 12
javiergs
PRO
0
160
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
290
Better Code Design in PHP
afilina
PRO
0
130
Jakarta EE meets AI
ivargrimstad
0
730
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
243
12k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
4 Signs Your Business is Dying
shpigford
180
21k
Typedesign – Prime Four
hannesfritz
40
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
A designer walks into a library…
pauljervisheath
204
24k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
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⽇日星期六