自去年 iPhone 面世以来,开创了移动设备内容服务的一种新的模式—-程序商店(App Store)。它极大地降低了移动设备应用程序开发的成本,即使普通人也能进入这个市场。就像在PC上开发应用程序一样,我们的投入只是一台电脑,一个手机。
截止到目前为止,许多大的电话设备提供商/运营商和软件企业都加入了这个新的模式,Nokia的 Ovi Store (2009年5月26日开始),微软的 Windows Marketplace for Mobile ,Google的 Android Market (2008年10月22日开始)等都已经或者准备进入这个市场了。
就像以前开发PC上的共享软件一样,许多程序员和小的企业加入了开发队伍的行列。只要有新意捞到你人生的第一桶金不是什么问题。国外的一个22岁开发者只用了20分钟开发了一款叫做Sound Grenade的程序,一个小时的收入就是200美金!!!一个月70,80万人民币轻轻松松啊。要论这个程序,没有什么技术可言,纯粹一个垃圾,可是就是这么一个垃圾程序,却受到很多人的欢迎,这只能说作者有创意了。顺便说一说,程序本身是免费的,主要是靠流量带来的广告收入(和网页广告一个道理)。
从今天开始,介绍一下 iPhone 应用程序的开发,发布流程,让我们也把自己的创意写成程序,展现一下实力吧。
iPhone开发入门(1)—-程序员眼中的iPhone
iPhone 不单纯是具有电话功能的 iPod,它的有许多有魅力的地方。作为一个应用程序的开发者,我们首先来看看它的这些特征。
首先,手机上的按键没有了,应用程序的按键,开关与电话的按键统一了起来。取而代之的是触摸屏技术,应用程序的开发者从此不再受按键的限制,可以自由的设计UI的风格。喜欢把按键放哪就放哪,即使不用按键,类似于PC应用程序的滚动条/拖动条等也可以在触摸屏上实现。

iPhone 中已经提供了从按键到滚动条等一系列的UI控件。当然,你也可以不使用这些控件,而是自己自作独特的UI控件。
制作iPhone应用程序需要的东西
首先是开发环境,标注的配置是以下的环境:

Mac 电脑(CPU要是Intel的)
    Mac OS X v10.5(Leopard)或以上的版本
    一台 iPhone 或者 iPod touch


当然你也可以在windows或者linux上安装开发环境。iphonedevonlinux有详细的介绍,使用toolchain在Cygwin或者linux下进行iPhone的开发,如果你想省些钞票或者想更深入的了解 iPhone OS 那么不妨试试它。这一部分,我在以后的章节中会专门介绍。
另外,开发所必要的软件,SDK,IDE等可以免费从Apple的网上下载。如果你想开发有GPS和照相机或者重力传感器功能的程序,那么需要iPhone 3G,其他一般的程序iPod touch就可以了。另外,如果想要把做成的程序发布出去,还需要到Apple Developer Connection花99美金登录。
Cocoa Touch与Xcode
Cocoa Touch
刚才介绍了开发iPhone应用程序的时候,可以选择许多现成的UI控件。实际使用的过程当中,使用叫做「Cocoa Touch」的程序开发组件库,它类似于windows下开发时所用的MFC,.NET FrameWork。利用 Cocoa Touch,开发者不用考虑设备的特性和画面特性,就可以简单的构筑GUI。
另外,利用Cocoa Touch,可以开发具有以下iPhone功能的应用程序。
照相功能 
利用照相机拍照,并将照片保存到iPhone。

当前位置取得功能 
要用iPhone取得当前位置,可以使用 GPS,无线LAN,基站等3种方式。应用程序不用考虑使用哪种方式,系统通过最佳的方式取得现在的位置信息。
Xcode
Xcode是Mac OS X下的IDE开发环境,也是免费的。主要包含有GUI设计用的「InterfaceBuilder」,iPhone应用程序模拟器,编译器等。
Objective-C语言
iPhone开发的时候,基本使用Objective-C语言。它是扩充C的面向对象编程语言,也是创建Mac OS X应用程序的首选语言。如果你会C或者C++,理解Objective-C应该很快。并且因为Objective-C可以在gcc运作的系统写和编译,你也可以混合Objective-C和C/C++来写程序,或者使用原先的C/C++库。
并且使用Cocoa Touch来开发程序,自己写的代码量也会相应减少,应为大部分的算法,逻辑部分都被程序库吸收了。
现在就开始开发iPhone应用程序

准备好了所有的工具,我们就可以开始开发iPhone应用程序了。当然学习Cocoa Touch,Objective-C语言也是很重要的,这些我以后会有专门介绍。
在开发自己的应用程序之前,最重要的是什么呢? 是开发程序的知识和技能吗?不是的,最重要的是开发者的激情和创意。有了激情,我们能产生好的创意,有了好的创意,我们才能写出优秀的应用程序。

iPhone开发入门(1)----程序员眼中的iPhone相关推荐

  1. iPhone开发入门(1)—-程序员眼中的iPhone

    http://blog.csdn.net/itudou_2010/article/details/5492272 iPhone开发入门(1)--程序员眼中的iPhone 博主:易飞扬 原文链接 : h ...

  2. iPhone开发入门(10)— 设备上运行程序

    博主:易飞扬 原文链接 : http://www.yifeiyang.net/introduction-to-iphone-development-10-devices-running-the-pro ...

  3. 观点:再见Objective C?程序员眼中的Swift

    对于苹果开发者来说,如今已经进入了"Swift时代".虽然编程语言Objective C备受喜爱,不过它作为苹果主流编程语言的日子已经所剩无几.随着WWDC开发者大会的落幕,Swi ...

  4. GPU Saturday技术沙龙:OpenCL程序员眼中的下一代APU架构

    摘要:GPU Saturday技术沙龙在北京·3WCoffee成功举办.本次活动邀请AMD资深技术人员及清华大学项目研究员就AMD最新的GCN架构.GPU加速计算在挖掘比特币.典型图像算法.深度神经网 ...

  5. Unity3D iPhone开发入门 (转)iPhoneSettings.

    From: http://www.j2megame.com/html/xwzx/ty/2363.html 作者:Unity3D大中华社区 日期:2011年07月13日 来源:Unity3D大中华社区 ...

  6. Unity iPhone开发入门

    可能开发iphone的同学不多,但里面讲到的一些优化思路同样也能适用于pc开发,大家可以借鉴.本人翻译水平有限,欢迎指正呵呵! Unity iPhone开发入门 (一) 为iPhone开发 为iPho ...

  7. 程序员眼中的漫威!太有才了!

    程序员眼中的漫威!太有才了! 漫威宇宙其实也就讲了一件事.整个宇宙就好比个git项目,其中有一群叫做美国队长,钢铁侠,惊奇队长,浩克,索尔等人在维护这个项目,兢兢业业的修理bug. 某一天出现了一个天 ...

  8. Python概述:C++程序员眼中的Python

        在C++的程序员眼中,脚本是个奇葩的逻辑.当然也可能我比较奇葩.不过从Lua走过来,python的理解也不那么难.记录一下刚学python要注意的东西,也算是个快速入门吧.如果你是从C++过来 ...

  9. 几张趣图带你了解程序员眼中的世界

    整理自:新浪微博@程序员那些破事 HTML&CSS ▼ 索引 ▼ 双链路冗余备份 ▼ 传说中的解耦 ▼ 过度封装 ▼ 明文vs对称加密 ▼ 程序员眼中的世界 ▼ ❈ 今天就周五啦,鬼知道我到底 ...

最新文章

  1. JavaScript 禁用键盘按钮
  2. win10 安装vc++6.0(亲测可用)
  3. linux内核打印前有buildroot,buildroot-linux内核
  4. HTML用户点击新建按钮,html – 需要点击按钮
  5. Win7如何关闭 打开文件-安全警告
  6. golang mysql封装_使用Golang 封装一个Api 框架 ----- 数据库操作篇(gorm引入)
  7. Mark:Camel SQL Route
  8. JAVA线程池_并发队列工作笔记0001---认识阻塞队列_非阻塞队列
  9. [C++11] enable_shared_from_this
  10. VC++开发学习一(MFC中的CString类的常用的方法技巧介绍)
  11. Google验证码生成
  12. 7pin数码屏的使用
  13. 暴雪总裁总结游戏十条经验
  14. 耳挂式蓝牙耳机原理_一种耳挂式蓝牙耳机的制作方法
  15. Apache2 MPM 模式了解
  16. 世界各国发展指标(1960-2019)
  17. SPU和SKU有什么区别
  18. 山东标梵网站制作项目启动流程详解
  19. 关于java读写文件
  20. 关于论坛发帖图片不显示之解决策略

热门文章

  1. 中国海洋大学计算机科学与技术考研科目,中国海洋大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  2. ora-02063紧接着line起自
  3. 3d Max 一些操作技巧
  4. 数据泄漏防御DLP的确切定义
  5. 24点_24点研究_24点结论_python
  6. 新松机器人通过c++离线编程接口库控制运动失败的100个注意事项
  7. 从python入门开始,玩这个炸弹超人小游戏,打通关就可以掌握编程
  8. USB 中MTP和UMS 模式
  9. CL7016 – 用户能灵活添加自己应用的USB 接口音频Codec
  10. Cinderella