Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
C#原本是用来编写Windows以及Windows Phone的应用程序。自从Xamarin问世后。C#的作用就发生了非常大的变化。
它不仅能够编写关于Windows以及Windowsx Phone的应用程序,还能够编写iOS、Android的应用程序。本章将解说怎样使用C#编写一个简单的iOS应用程序。本文选自《Xamarin
iOS开发实战》
1.1初识Xamarin
Xamarin是一个跨平台的开发框架。
Xamarin的产品简化了针对多种平台的应用开发。包含iOS、Android、Windows
Phone和Mac App。
本节将解说Xamarin的发展、Xamarin的特点、Xamarin的版本号以及工具需求。本文选自《Xamarin iOS开发实战》
1.1.1 Xamarin发展
Xamarin创始于2011年,到如今为止已经有四年了。Xamarin自创建后到如今的发展如表1-1所看到的。
表1-1 Xamarin发展史
时间 |
事件 |
2011年 |
Xamarin被创建 |
2013年2月21日 |
Xamarin 2.0推出 |
2014年5月8日 |
Xamarin 3推出 |
1.1.2 Xamarin特点
Xamarin在短短的4年时间内,能够发展到如今众所周知。而且成为国内知名社区CSDN力推的开发框架。想必有它过人之处。下面就是Xamarin的几个重要特点。
1.跨平台
Xamarin能够使用C#语言来编写iOS、Android、Mac、以及Windows应用程序。
2.智能输入
开发应用程序时。开发工具会侦測开发人员输入的部份字母,寻找相应的API并自己主动完毕输入。俗称自己主动补全代码。
3.代码共享
现行由Objective-C所开发的iOS应用程序以及由Java所开发的Android应用程序,无法达到程序代码共享。Xamarin则是採用C#编写,因此透过良好的设计。能够在不同平台间共享商业逻辑以及数据存取等程序,无需又一次编写。除了省下又一次编写的时间成本外,对于版本号维护及一致性也有相当大的帮助。本文选自《Xamarin iOS开发实战》
4.与Visual Studio整合
Xamarin提供了Visual Studio 2010/2012的plug-in,让原本就熟悉Visual Studio的开发人员不用再熟悉其它的开发工具。
在建立项目时,能够直接建立iOS及Android的项目模板。
开发团队也能够将iOS 及Android的程序代码纳入到ALM,使用Team Foundation Server进行版本号及建置的管理。
5.UI设计
眼下在Visual Studio中已整合Android的UI设计功能,iOS的UI编辑眼下仍需仰赖Xcode。可是在Xamarin Studio中已经整合的UI的设计功能。为了方便开发人员的学习,我们会使用Xamarin Studio进行iOS应用程序的开发,Xamarin Studio是Xamarin开发框架的一部分。
6.确保第一时间更新
Xamarin对于iOS及Android的版本号更新不遗余力。
在iOS SDK 5.0、6.0以6.1,都与Apple在同一天发表相应的Framework版本号。本文选自《Xamarin iOS开发实战》
Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序的更多相关文章
- Xamarin Android开发实战(上册)大学霸内部资料
Xamarin Android开发实战(上册)大学霸内部资料 试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamar ...
- iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)
iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController) 前面我们介绍了StoryBoard这个新技术,和纯技术 ...
- iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)
iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController) 这里我们就直接上实例: 一:新建一个项目singleV ...
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...
- iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用 一.实现效果 说明:点击随机按钮,能够自动选取,下方数据自动刷新. 二.实现思路 1.picker view的有默认高度为162 ...
- iOS 11开发教程(二)编写第一个iOS 11应用
iOS 11开发教程(二)编写第一个iOS 11应用 编写第一个iOS 11应用 本节将以一个iOS 11应用程序为例,为开发者讲解如何使用Xcode 9.0去创建项目,以及iOS模拟器的一些功能.编 ...
- 搭建Spring开发环境并编写第一个Spring小程序
搭建Spring开发环境并编写第一个Spring小程序 2015-05-27 0个评论 来源:茕夜 收藏 我要投稿 一.前面,我写了一篇Spring框架的基础知识文章,里面没 ...
- 《iOS开发实战 从入门到上架App Store(第2版)》书籍目录
第1章 开发准备 1.1 iOS 10新特性简述 1.1.1 新增触觉反馈编程接口 1.1.2 SiriKit框架的开放 1.1.3 引入Messages App 1.1.4 通知框架的整合与扩展 1 ...
- iOS开发——实战OC篇&环境搭建之StoryBoard(玩转UINavigationController与UITabBarController)
环境搭建之StoryBoard(玩转UINavigationController与UITabBarController) 研究了这么就IOS开发,都没有所处一个像样或者自己忙一点的项目.最近自 ...
随机推荐
- 说说C#中list与IList中的区别(转载)
首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口. 但是它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IL ...
- java_StringBuffer、StringBuilder
StringBuffer和StringBuider是可变的字符串,使用方法 相同,StringBuffer是线程安全的,StringBuider是线程不安全的 public class StringT ...
- Duplicate fragment name ERROR Jetty Maven Plugin
http://stackoverflow.com/questions/5802096/duplicate-fragment-name-error-jetty-maven-plugin 4down vo ...
- C89:应用篇 文件管理器
一.简介 用C语言做的一个文件管理器的轮子,因为经常开发中会用到跟数据流有关的,做完会放到Github上
- 第2节 mapreduce深入学习:11、maptask运行机制(多看几遍)
mapTask运行机制详解以及mapTask的并行度在mapTask当中,一个文件的切片大小使用默认值是128M,就是跟我们一个block块对应大小一样 MapTask运行的整个过程 背下来1.Tex ...
- thinkphp5将一条数据以toArray()放入session
直接将找出的数据赋予变量,列:$admin: 存入session:Session::set('user_info',$admin->toArray()); 如果数据中有时间字段: 如若有时间字段 ...
- java关于时间的相关操作
/** * 获取当天时间零点 * @return */ public Date gettoday(){ SimpleDateFormat sdf = new SimpleDateFormat(&quo ...
- Swing实现个人简历
源码: import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font; import javax.swing.*; ...
- 零基础入门学习Python(5)--闲聊之Python的数据类型
前言 本次主要闲聊一下python的一些数值类型,整型(int),浮点型(float),布尔类型(bool),还有e记法(科学计数法),也是属于浮点型. 数值类型介绍 整型 整型就是我们平时所说的整数 ...
- win7右键菜单不见解决办法
直接 开始 运行: cmd /k reg add "HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\Ne ...