0

所以我希望同时学习 Web 应用程序开发和移动应用程序开发,我想知道两者之间是否存在重叠。更具体地说,在构建移动应用程序时,开发 Web 应用程序的知识是否必不可少甚至有帮助?我的印象是,在能够开发使用互联网的移动应用程序之前,必须先了解基本的 Web 应用程序开发(至少是服务器端编程)(因为我认为移动应用程序只是一个不同的客户端,最终会拥有与某处服务器上的 Web 应用程序对话)。然而,谷歌搜索这引发了关于移动网络应用程序与原生移动应用程序的讨论,这让我感到困惑(例如,Shazaam 是原生应用程序还是网络应用程序?)。请帮我理解。

4

8 回答 8

2

本机应用程序是在您的移动设备上执行的应用程序。网络应用程序是在您的移动应用程序中打开网页并像经典网络浏览器一样运行的应用程序。

做移动端开发不一定要懂网络开发,但它会有所帮助,每个平台的编程都是一样的,每次更改时你只需要了解新的语言,但原则是一样的。

于 2012-05-18T07:46:24.153 回答
1

您可以在没有任何 Web/企业应用程序开发知识的情况下开始学习移动应用程序开发。

但是,如果你有这些知识,肯定会让你的工作更轻松。您需要了解基本知识RESTServices(因为这主要是您如何从移动应用程序与服务器交互),知道如何HTTP POST, GET, DELETE工作等。还可以体验MySQLSQL帮助您使用SQLite(这基本上是您在移动应用程序上的数据库)。此外,如果您有一些关于ORMs的知识Hibernate,也可以在您的移动应用程序中为您提供ORMLite帮助)。

毫无疑问,所有这些都会对您有很大帮助,任何其他有关编程标准/设计模式/Java/Objective-C 的经验都将使您的工作更轻松,并且您开发的产品更可靠/稳定。

祝你好运。

于 2012-05-18T08:21:46.127 回答
1

Knowledge of developing web application isn't necessary for developing mobile application. But, It will help you a lot. You can also build mobile app with HTML5,CSS & JavaScript.

于 2012-05-18T07:48:26.243 回答
1

这取决于。

您可以开发根本不需要任何 Web 组件的移动应用程序。

我看到至少有两个大问题使 Web 开发对移动应用程序非常有用

  • 您可以开发基于 Web 技术的非本地移动应用程序。使用 jQuery mobile 或 GWT(或其他框架)将支持您的应用程序的平台独立性。缺点是此应用程序无法使用移动设备的所有功能(例如相机),并且它们通常具有较低的性能和电池/电源效率。

  • 我发现将云技术与移动设备结合使用非常自然。您可以使用网络来保存和共享数据。这允许您构建由移动和桌面驱动的应用程序(桌面在数据输入方面效率更高)

我也建议看看网络技术。

于 2012-05-18T08:02:04.227 回答
1

迟早,您的移动应用程序需要与服务器通信才能做一些有用的事情——手机就是瘦客户端(相对而言)。所以是的,通常情况下,您会使用服务器端语言(如 PHP 或 RoR)为您的移动应用程序构建某种 API,以便与之交谈并发挥作用。

例如,由于您购买了 Shazaam(这是一个本机应用程序):Shazaam 会录制几秒钟的音乐,然后上传到一个网络服务,该服务会完成所有繁重的工作,对录制的音乐进行采样并在 (我想象的)巨大的音乐数据库,用于该音乐的“签名”,并将识别的歌曲发送回手机,以便将其呈现给用户。一路走来,有服务器端代码可以做到这一点。

我曾在移动应用程序开发刚刚起步(2008-09)的公司工作,那里有些人只为 Android/Blackberry 编写 Java 或为 iOS 编写 Objective-C 并且不知道杰克在后端。为此,他们与编写 JSP 或 python 的服务器端人员进行了交谈,以构建他们的本机代码将与之交谈的 API。

有服务Parse可以让您为您的移动应用程序构建一个“后端”,而无需担心获得自己的服务器或编写服务器端代码。对于某些类别的应用程序很有用。

我希望一切都说得通。Web 开发(如服务器端)和移动开发(移动端的本机代码)之间肯定存在重叠。两者都学,必要时专攻其中一个。

于 2012-05-18T08:03:51.160 回答
1

Web 应用程序是一个网站(有时但不总是针对移动设备)使用与原生应用程序开发(obj c、c++、java)不同的技术/语言(php/perl/.net/xhtml/ccs 等)集.

是的,对两者都有一些了解很有用,但如果我是你,我会专注于一条路径(一次做一件事)服务器/后端/web-app/网站构建或移动开发。在决定转向移动应用程序开发之前,我在 Web 软件开发环境中工作了 10 多年。现在我不做 Web 编码,我使用现有的 Web 服务或与做 Web 服务方面的其他人一起工作。

它还取决于您要构建的应用程序类型。如果您想为移动设备编写游戏,那么您无需学习任何网络知识。使用 Apple 的 Game Center 进行排行榜等。

即使您想编写与 Web 服务通信的移动应用程序,我建议先编写一些使用现有 Web 服务的应用程序,这样您就可以专注于构建有效的东西,而无需尝试同时学习一种以上的编程语言。有很多网站提供 Web 服务,您可以使用它来创建自己的应用程序。

使用 Web 技术(phoneGap、Titan 等)编写应用程序有很多选择,但我个人会避免使用它们。

于 2012-05-18T09:08:19.560 回答
0

Well, basic knowledge on web applications is very useful. After all, as you said, a mobile app is just another type of client. Knowing the principles of web communications is essential. The server side of an application is quite the same. As far as the client side is concerned, transferring your code from java to android is quite easy...!

于 2012-05-18T07:49:14.340 回答
0

我认为这取决于您要如何构建移动应用程序。如果您的应用程序可以在本地执行某些操作,则无需了解 Web 编程。但是如果你的应用想要与服务器通信,或者想要使用 web 的东西(比如渲染 HTML5 和 javascript),那么你最好了解 web 编程。本机和网络应用程序都可以做到这一点,但优缺点不同。还有一些平台可以帮助您使用 html 和 js 开发移动应用程序,然后将其转换为原生代码,例如钛。

恕我直言,移动应用程序的处理应尽可能在服务器上完成。这样,应用程序可以做得更多,效率更高。因此,了解 Web 应用程序开发将是一大优势。

于 2012-05-18T08:06:03.643 回答