手机程序开发软件的组成是怎么样的呢

如今手机应用程序开发的门槛逐渐降低,很多IT开发人员都从中老的真金。随着手机应用领域的不断增加,手机程序开发的力度也不断加大,各大企业都想从中分得一杯羹。那么,手机程序开发软件的组成是怎么样的呢,是由哪些重要部分组成的呢?这应该是多家关心的重点。下面众云图结合自己多年的积累为大家作一个简单的介绍,希望对大家有所帮助

1.概述

手机软件和PC机软件一样从中断向量表开始,因为比较小,看上去更加清晰。中断向量表的第一个跳转指令当然是跳到复位的处理程序,后面是中断处理、错误处理的跳转指令。一上电,手机就跳转到复位的处理程序,开始检查内存、初始化C运行环境,然后创建第一个任务。这个任务会按顺序创建、启动其它任务。绝大多数手机程序都是多任务的,但也有一些小灵通的协议栈是单任务的,没有操作系统,它们的主程序轮流调用各个软件模块的处理程序,模拟多任务环境。

手机应用软件开发可以粗略地分成启动模块、操作系统、协议栈、数据业务、本地存储、驱动程序、用户界面和其它应用。启动模块前面已经说过了,下面简单介绍其它部分。

2.本地存储

手机都有本地存储功能,存储电话本、短消息、用户设定等。一般手机都有一个基于的文件系统。早期的手机存储是基于EEPROM的。

3.操作系统

操作系统在手机软件只占很小一部分。它的主要功能就是提供多任务调度、通信机制。有的操作系统会提供动态内存分配,定时函数,但这些都不是必须的。例如需要动态内存分配的模块,可以自己管理一个内存池,这样更易于隔离模块和预测内存需求。大多数手机的操作系统都是一个很小的内核,例如REX、HIOS等。高通REX的源代码连C代码加汇编也不过一千多行,编译后不过是2、3K的代码量。而一般手机软件有几百到上千个源文件、超过一百万行的代码。

4.驱动程序

硬件驱动一般指外设驱动,不过有的外设已经被集成到基带处理芯片中了。驱动程序包括键盘、电源管理模块、LCD、flash、RTC、串口、USB、SIM卡或UIM卡、射频驱动等。

5.协议栈

协议栈是手机软件最复杂的部分,它的复杂性在于它和基带处理芯片的设计密切相关。只有具备芯片设计能力的企业才可能开发协议栈。协议栈会使用基带处理芯片的所有资源。

6.用户界面

用户界面(UI)又称作人机界面(MMI),它负责和用户的交互,在必要的时候调用其它模块的功能。除了手机的必备功能外,用户界面也可能包含一些相对独立的手机应用程序,例如日程表、游戏等。

7.数据业务

数据业务主要有两种:在前一种,手机相当于一个调制解调器,PC机通过手机上网,网络协议全在PC机上,手机提供数据链路。另一种就是嵌入式数据业务,手机内部包含TCP/IP/PPP等协议,有时还要实现HTTP和嵌入式浏览器。

8.手机的核心技术

手机的核心技术是芯片和协议栈,两者是密不可分的。芯片设计需要协议栈来验证,协议栈必须充分发挥出芯片的功能。芯片的CPU核、DSP核都可以买到现成的单元,但通信协议部分就需要自己设计了。手机比较难做好的是耗电量、恶劣信号环境的性能等。

9.其它应用

其它应用包括Java虚拟机、WAP浏览器、邮件软件等,是一些比较大,又相对独立的应用模块。

基本上讲完了。大家肯定看得挺没意思吧。这些程序和微软的longhorn、metedata有什么关系呢?手机程序绝大部分是用C语言写的。但对于做应用软件的程序员要求具备面向对象、设计模式的思维能力,然后用C语言实现出来。

高通的BREW就是用C语言硬生生地模仿C++,弄出很多奇怪的宏。一般应用软件的开发不用这么死板,但对各种软件设计方法的了解还是必要的。

手机程序员是目前比较热门的职业,其待遇薪金也是客观的。随着技术的不断成熟,应用领域及推广力度的加大,相信其发展前景是美好的。当然,手机应用软件开发也有其自身的局限性,手机载体具有自身优势的同时,也局限其发展的高度。

众云图

众云图科技,一直专业从事APP的开发运用:手机APP开发、







































?北京治疗白癜风价格
?北京的白癜风那好



转载请注明地址:http://www.henanledxianshiping.com/rjkf/2627.html
  • 上一篇文章:
  • 下一篇文章: