首先,我不知道智能手机的硬件是什么,我刚为Android编写了程序。但认为智能手机只是一台有一些特殊功能的旧PC是安全的,但无论如何,我认为即使是最糟糕的智能手机也可能比配备第一台奔腾4的标准PC更有能力,而且如果Android使用这些前提进行编程,那么Iphone、Windows phone等就会有这种功能。
那么,为什么它的编程如此不同呢?我的意思是,我可以用任何一种语言编写大量的中型桌面应用程序,我几乎没有注意到在一台全新的PC或一台旧奔腾4计算机上运行程序的区别,是的,有些移动应用程序很大,可能需要更好的资源管理,但它们并不多。
我个人认为用这种方式编写移动应用程序会更容易,这将是开发移动应用程序的最合理的方式,事实上,我认为它们应该不会遇到执行任何程序的问题,例如在windows中执行的程序,是的,我知道操作系统远不相同,但是支持这些程序可以包括在内,因为我认为移动电话有足够的能力运行很多程序。
我的推理有失败吗?哪个?如果不是,他们为什么不能像桌面编程那样做到这一点呢?
谢谢。
发布于 2015-07-17 00:49:31
就像查尔斯·E·格兰特提到的--手机上有很多你的普通电脑没有的硬件。
然而,即使我们低估了所有这些--智能手机的系统架构与IBM兼容的PC大不相同。不同的处理器意味着不同的指令集。此外,与旧电脑相比,手机电子产品的功耗也很低。
还有用户界面-触摸(和多点触摸)是非常不同的键盘/鼠标。手机上的屏幕要小得多--它的分辨率可能与VGA相同(或更好),但VGA显示器在物理上要大得多。
然后你就有了非常不同的操作系统: iOS、安卓和Windows与它们的桌面操作系统不同。
不过,很有可能,您刚刚使用了Android的默认开发框架--这可能使它看起来与PC应用程序开发更加不同。
有一些软件工具可以帮助开发人员进行跨平台开发,比如Qt (C++)和Xamarin (C#),它们抽象出了移动应用程序开发和桌面应用程序开发之间的区别。
发布于 2015-07-17 00:26:29
想想一部手机所拥有的所有典型PC所没有的硬件吧!蜂窝无线电,加速度计,GPS,触摸屏,和一个极小的电池,非常有限的功率。即使你不使用这些硬件,你也在为一个GUI编写你的软件,这个GUI是为屏幕小的触摸设备而优化的。微软试图在手机和台式机(Windows 8)上推出类似的GUI,但遭到了广泛的拒绝。
https://softwareengineering.stackexchange.com/questions/289979
复制相似问题