.net程序员的iPhone开发-MonoTouch
iPhone软件的Native开发除了使用Apple推荐的Objective-C Cocoa之外,也有其他的一些工具和SDK提供
基于WEB的形式的一些框架在下面这个文章介绍过
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.