Mobile Web、应用程序和移动编程之间的主要技术区别是什么?

Mobile Web、应用程序和移动编程之间的主要技术区别是什么?,mobile,Mobile,我想知道Web(ASP、PHP、Ruby等)之间的主要技术区别是什么, 应用程序(C,C++,.NET,java),莫比尔(J2ME,ObjtC)编程,其中最难的是 如果有人学会了其中一种,他可以轻松地切换到其他应用程序吗?移动应用程序可以与桌面应用程序相同地编写,大致相当于windows应用程序、控制台应用程序和浏览器应用程序(因为大多数移动平台都支持浏览器)。但大多数工具的移动版本更受限制;通常会涉及到沟通,这通常会使开发更具挑战性,试图保持各种状态的正常。通常,您必须对UI代码中的微妙之处

我想知道Web(ASP、PHP、Ruby等)之间的主要技术区别是什么, 应用程序(C,C++,.NET,java),莫比尔(J2ME,ObjtC)编程,其中最难的是


如果有人学会了其中一种,他可以轻松地切换到其他应用程序吗?

移动应用程序可以与桌面应用程序相同地编写,大致相当于windows应用程序、控制台应用程序和浏览器应用程序(因为大多数移动平台都支持浏览器)。但大多数工具的移动版本更受限制;通常会涉及到沟通,这通常会使开发更具挑战性,试图保持各种状态的正常。通常,您必须对UI代码中的微妙之处更加敏感


移动应用程序和网络应用程序之间并没有什么特别的区别。这些概念并不特别正交。

这是这些应用程序运行的环境

Web应用程序在服务器上运行,旨在使用Web浏览器为大量客户端提供服务。尽管web服务器本身运行在某些操作系统上,但运行在这些服务器上的web应用程序并没有与该操作系统紧密耦合


移动和桌面应用程序通常与运行它们的操作系统紧密耦合

如果你看一看像.NET这样的编程框架,你很容易就能在Web(ASP.NET和Silverlight)、Mobile(.NET Mobile)和Desktop(.NET和WPF)之间切换,因为这些语言都基于相同的核心框架。您可以用不同的语言编写.NET,其中最常见的是VB.NET和C#

就我个人而言,如果你正在学习,我会推荐C#。您将在internet上找到更多的示例,并且它也将与您将来可能要学习的语言(JavaScript、Java等)更加相似。

首先,从技术角度来看,您应该询问Web应用程序和客户端应用程序之间的区别。在每个类别中,您可以询问标准Web应用程序和移动Web应用程序以及标准客户端应用程序和移动客户端应用程序之间的区别

web应用程序和客户端应用程序之间的区别在于web应用程序缺少状态:每个页面请求都与其他页面请求完全断开链接。只有通过各种技术解决方案,web应用程序才能保持一种错觉,即web应用程序用户在页面间导航时运行的是一致的应用程序。例如,在ASP.NET中,ASP.NET ISAPI DLL管理一个“会话”对象,该对象从用户的页面请求中提取会话cookie,然后提供并使用它来标识适合处理请求的会话数据

相比之下,在客户端应用程序中,应用程序的每个方面都是针对单个用户的,当您从一个对话框导航到另一个对话框时,应用程序的“状态”是给定的。此外,应用程序与用户计算机的紧密集成允许使用车载资源(内存、磁盘)。相比之下,在web应用程序中,除了通过浏览器(这是一个客户端应用程序,而不是web应用程序)进行中介外,很少或根本无法访问这些资源

从本质上讲,移动web应用程序只是web应用程序,但有两个警告:屏幕尺寸要小得多,浏览器功能通常不太强大。因此,您编写移动web应用程序的方式与编写标准web应用程序的方式几乎相同,但您不能指望使用成熟浏览器通常具有的某些功能。顺便说一句,随着移动设备的功能越来越强大,这最后一个限制正在迅速消失

移动客户端应用程序需要特定于移动设备的开发环境、部署策略等。标准客户端应用程序开发中使用的工具和技术与移动客户端的对应性不是特别好。相反,您需要学习新的工具、控件和技术。这条规则唯一真正的例外是通过.NET提供的工具。Microsoft已尝试提供尽可能多的通用性,但即使在这里,您也会发现,与开发WinForms应用程序时相比,您的思维方式和约束条件有所不同


希望这有帮助

“以相同方式写入桌面应用程序”。两个字。电源恢复。不是所有的移动应用程序,当然是手机。但这主要是操作系统的责任,而不是应用程序开发人员的责任。