.net程序员的iPhone开发-MonoTouch

iPhone软件的Native开发除了使用Apple推荐的Objective-C  Cocoa之外,也有其他的一些工具和SDK提供

基于WEB的形式的一些框架在下面这个文章介绍过

各种SmartPhone上的跨平台开源框架的总结

http://www.cnblogs.com/2018/archive/2010/12/28/1918814.html

 

对于.net人员来说,使用C#语言也可以进行开发,这就是MonoTouch

monotouch

2009年Novell开始的项目

通过MonoTouch,使用C#语言实现可以在iPhone上发布和销售的软件

MonoTouch免费版本只能在模拟器中开发调试和测试,在iPhone设备和app store上必须购买授权。http://monotouch.net/DownloadTrial

开发环境准备

 1. Make sure you have your Intel Mac running at least version 10.5.7

  2. Download and install the Mono framework: www.go-mono.com/mono-downloads/download.html.

  3. Download and install MonoTouch: http://monotouch.net/

  4. Download and install MonoDevelop: http://monodevelop.com/Download

  5. Download and install the iPhone SDK: www.apple.com/downloads/macosx/development_tools/iphonesdk.html.

安装好以上的工具后就可以使用MonoDevelop进行开发了

MonoTouch 组件和类库

MonoTouch is made up of the following four components:

  • The  Monotouch.dll is a C# assembly that provides a binding API into the iPhone’s native APIs.
  • A command-line tool that compiles C# and Common Intermediate Language (CIL) code. This compiled code can then be run in the simulator or an actual iPhone.
  • An add-in to MonoDevelop that allows for iPhone development and for Interface Builder to create graphical applications.
  • A commercial license of the Mono runtime, which allows for the static linking of the Mono runtime with the code developed.

最常用的命名空间

  • MonoTouch.ObjCRuntime: This namespace provides the interop/bridge between the .NET/C# world and the Objective-C world of the iPhone.
  • MonoTouch.Foundation: This namespace provides support for the data types necessary to communicate with the Objective-C world of the iPhone. Most types are directly mapped. For example, the NSObject Objective-C base class is mapped to the MonoTouch.Foundation .NSObject class in C#. Some classes are not directly mapped and are instead mapped to their native .NET types. For example, NSString maps to the basic string type and NSArray maps to a strongly typed array.
  • MonoTouch.UIKit: This namespace provides a direct mapping between the UI components within Cocoa Touch. The mapping is done by providing .NET classes for each UI component, and this is the namespace that developers will likely spend most of their time working with. For .NET developers, Cocoa Touch is an abstraction layer or API for building programs that run in the iPhone. Cocoa Touch is based on the Cocoa API used in building programs that run on the Mac OS X operating system. Cocoa Touch can be thought of as Cocoa tuned for the touch-based iPhone operating system.
  • OpenTK: This namespace is a modified version of the OpenTK API. OpenTK is an objectoriented binding for OpenGL, which stands for the Open Graphics Library. OpenGL is an API for using three-dimensional graphics. OpenTK is a library for performing OpenGL, OpenAL, and OpenCL. It is written in C# and runs on Windows, Mac OS X, and Linux. The OpenTK implementation on the iPhone has been updated to use CoreGraphics and to only expose the functionality available on the iPhone.

 

时间: 2024-09-20 11:42:09

.net程序员的iPhone开发-MonoTouch的相关文章

Java程序员转Android开发必读经验一份

啰哩啰嗦的说说Java和Android程序的区别: Android是主流智能手机的操作系统,Java是一种开发语言,两者没有好坏优劣之分,只是两种职业岗位的选择.学安卓从事移动互联方向开发,学Java从事软件.网站开发.而安卓上的应用大多是Java编写的,所以建议在安卓前期的Java学习阶段中,要用心学好. 言简意赅的说说"转"前的准备: 其实Java程序员要自学安卓开发的基础知识还是没有什么难度的,毕竟语言相通,特性相似,阅读安卓源代码的门槛以比较低一些,作为能够考虑"转&

java 转行 c++-java程序员转C++开发问题

问题描述 java程序员转C++开发问题 我是一名2014届毕业生,今天去一家公司面试,应聘的岗位是软件工程师,我是学java的,公司开发部经理跟我谈话之后让我考虑转C++开发. 我在大学期间学过C/c++ ,不知道转C++难度大不大,大概需要多久时间. 解决方案 我个人认为:C++是世界上最难的语言 结论:给自己留两年时间吧 无GC 构造/析构 异常/stack unwinding 多继承/虚虚数 RTTI/static.dynamic.reinterpret.const casts 私有/公

程序员破解iPhone:成功安装Android系统

北京时间4月23日上午消息,据国外媒体昨日报道,一位.Net和Android应用开发者成功将谷歌(Google)Android手机系统安装到苹果iPhone上,并能正常进行网络浏览.收发短信和接打电话等普通操作. 这位名为大卫·王(David Wong)的程序员在一段视频里展示了整个破解过程.他使用一款被称作"OpeniBoot"的程序执行双重引导操作,使iPhone在重启后能加载并运行Android系统.视频里用来演示破解是的第一代iPhone,不过他表示把"OpeniBo

朝九晚五的程序员如何提高开发技能

你只在早上9点至晚上5点间编码,却担心这样不够好吗?你看见其他的程序员工 作于个人项目或开源项目,参与编程马拉松,并花费所有的业余时间编写软件了吗?你可能会认为只在自己的工作时间编码,只朝九晚五地编写软件,将永远不会非 常优异.你可能认为,只有那些连吃饭.睡觉和呼吸间都在编码的人才能脱颖而出.但实际上坚持一周40小时的工作时间依然可以让你成为一个有价值的.熟练的 程序员. 工作于个人或开源软件项 目不会让你自然而然地成为一个更好的程序员.编程马拉松甚至可能会成为负面影响,如果它们让你觉得构建软件

为什么程序员难以评估开发时间?

一个曾经与我一起http://www.aliyun.com/zixun/aggregation/6918.html">工作过的经验丰富的项目经理声称,他拿到程序员的时间估算以后,先将它乘以π,然后转化下一个时间数量级后,才能得到真正的值.1天转化成3.14周.他过去因为程序员不擅长估算时间而吃尽了苦头.我创建了一个用来翻译程序员时间估算的表格,来尽量缩小估算错误. 时间估算时困难的.每一个程序员都有一个现实的估计区间.低于这个区间的估计意味着(构件,测试,检查代码的)时间开销被低估了.超过

分享15款Java程序员必备的开发工具_java

如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同的观点:一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂. 下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是--它们都是为了给Java编码和开发提供卓越的支持. 1. JDK(Java开发工具包)如果你打算用Java开发一些小程序和应用程序,那么首先得给自己准备一个类似于JDK的工具

程序员常去的14个顶级开发社区

 开发社区-程序员开发社区"> 作为设计师,学技术的最大好处是能够更加理解程序员,容易沟通,有利项目协作.作为男设计师,如果你喜欢上了程序媛,这个技术优势会为你个人形象大大地加分!谁不爱技术帝的设计师呢?从新手教程到大牛支招,这组网站都有,绝对赶超程序员的首选! 下面这张图列出了14个程序员经常逛的顶级开发社区,作为设计师,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力. 我们期望在开发者社区中获得什么? 我们希望能得到切实的帮助,而不是获取一些唠叨

国外程序员常去的14个顶级开发社区

我们来看一下程序员经常去的 14 个顶级开发者社区,如果你还不知道它们,那么赶紧去看看,也许会有意想不到的收获. Stack Overflow 9 月份,Stack Overflow 也将迎来其 6 岁的生日,毫无疑问,Stack Overflow 是全球最受程序员欢迎的开发社区,而且也是内容最丰富的社区之一. 官方网站:http://stackoverflow.com/ Reddit reddit 也是一个非常富有个性的社区,你可以在 reddit 上提交一些感兴趣的话题,也可以和其他程序员讨

想成为一个JSP网站程序员吗

js|程序|程序员 任何Web开发人员需要必备的技巧主要有以下这些技术. 开发Web应用程序的技术已经变得更成熟.更复杂了.现在,构建一个Web应用程序不仅仅需要简单的HTML技术了.数据库访问.脚本语言和管理都是一个Web程序员需要具备的技术.让我们来看看要成为一个市场上受欢迎的Web开发人员都需要些什么技能吧. 自从CERN(欧洲粒子物理研究所),日内瓦附近的高能物理研究中心,在1991年发布了Web以来,Web技术已经从静态的内容和Common Gateway Interface(CGI)