Web,应用程序和移动编程之间的主要技术区别是什么? [英] What is the main technical difference between Web, Application, and Mobile programming?

查看:105
本文介绍了Web,应用程序和移动编程之间的主要技术区别是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道Web(ASP,PHP,Ruby等)之间的主要技术区别是什么, 应用程序(C,C ++ 、. NET,Java)和移动(J2ME,Objective C)编程最困难.

I want to know what is the main technical difference between Web (ASP, PHP, Ruby, etc.), Application (C, C++, .NET, Java), and Mobile (J2ME, Objective C) programming, and which is the hardest.

如果某人学习其中之一,是否可以轻松切换到其他人之一?

If someone learns one of these, can he easily switch over to one of the others?

推荐答案

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

First, from a technical perspective you should be asking the difference between Web Applications and Client Applications. Within each category, you can ask about the difference between standard Web Applications and Mobile Web Apps and standard Client Apps and Mobile Client Apps.

Web应用程序和客户端应用程序之间的区别在于Web应用程序缺少状态:每个页面请求都与其他所有页面请求完全脱开链接.只有通过各种技术变通办法,Web应用程序才能维持以下错觉:Web应用程序用户在页面之间导航时正在运行一致的应用程序.例如,在ASP.NET中,ASP.NET ISAPI DLL管理一个会话"对象,该对象从用户的页面请求中提取会话cookie,然后提供使用它来标识适合于处理请求的会话数据.

The difference between web and client applications is that web applications lack state: every page request is completely de-linked from every other page request. It is only through various technical work-arounds that web applications manage to maintain the illusion that a web app user is running a coherent application as they navigate from page to page. In ASP.NET, for example, the ASP.NET ISAPI DLL manages a "Session" object that pulls a session cookie from the user's page request and then provides uses it to identify the Session data appropriate for the handling of the request.

相比之下,在客户端应用程序中,应用程序的每个方面都针对单个用户,并且在您从一个对话框浏览到另一个对话框时,应用程序的状态"是给定的.此外,应用程序与用户计算机的紧密集成允许使用板载资源(内存,磁盘).相比之下,在Web应用程序中,除了由浏览器(是客户端应用程序,不是Web应用程序)介导的之外,几乎没有或没有访问这些资源的权限.

In a client application, by contrast, every aspect of the application is targeted at a single user and the "state" of the application is a given as you navigate from dialog to dialog. In addition, the tight integration of the application with the user's computer permits the use of on-board resources (memory, disk). In a web app, by contrast, there is little or no access to these resources except as mediated by the browser (which is a client application, not a web app).

移动 Web应用程序实质上只是具有两个警告的Web应用程序:屏幕尺寸小得多,浏览器功能通常不那么健壮.因此,您将以与标准Web应用程序几乎相同的方式编写移动Web应用程序,但是您不能指望使用功能完善的浏览器通常具有的某些功能.顺便说一句,随着移动设备变得越来越强大,最后一个约束正在迅速消失.

Mobile web applications are, essentially, just web applications with two caveats: the screen size is considerably smaller and the browser capabilities are generally less robust. Thus, you'd write a mobile web app in pretty much the same way as a standard web app but you can not count on some of the capabilities that you usually have with a full-blown browser. This last constraint, by the way, is rapidly going away as mobile devices become more powerful.

移动客户端应用程序需要特定于移动设备的开发环境,部署策略等.标准客户端应用程序开发中使用的工具和技术无法很好地映射到Mobile客户端.相反,您将需要学习新的工具,控件和技术.该规则唯一真正的例外是.NET提供的工具. Microsoft尝试提供尽可能多的通用性,尽管即使在这里,您也会发现与开发WinForms应用程序时有着不同的思维定式和约束.

Mobile client applications require a development environment, deployment strategy, etc. that is specific to the mobile device. The tools and techniques used in standard client application development don't map particularly well to the Mobile client. Instead, you'll need to learn new tools, controls and techniques. The only real exception to this rule are the tools available through .NET. Microsoft has attempted to provide as much commonality as possible although, even here, you'll find that you have a different mind set and different constraints than when developing a WinForms application.

希望这会有所帮助!

这篇关于Web,应用程序和移动编程之间的主要技术区别是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆