Android 我是否需要了解web应用程序开发才能制作移动应用程序?

Android 我是否需要了解web应用程序开发才能制作移动应用程序?,android,iphone,web-applications,mobile-application,Android,Iphone,Web Applications,Mobile Application,因此,我希望学习web应用程序开发和移动应用程序开发,我想知道这两者之间是否存在重叠。更具体地说,开发web应用程序的知识在构建移动应用程序时是必要的还是有用的? 我的印象是,在开发使用互联网的移动应用程序之前,必须先了解基本的web应用程序开发(至少是服务器端编程)(因为我假设移动应用程序只是一个不同的客户端,最终必须与某个服务器上的web应用程序通信)。然而,谷歌搜索这会引发关于移动网络应用和本地移动应用的讨论,这让我感到困惑(例如,Shazaam是本地还是网络应用?)。 请帮助我理解。本机

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

本机应用程序是在手机上执行的应用程序。 web应用程序是一种在移动应用程序中打开网页的应用程序,其行为类似于经典的web浏览器


做移动开发不需要了解web开发人员,但它可以帮助您,每个平台的编程都是一样的,每次更改时您只需要了解新的语言,但原则是一样的。

开发移动应用程序不需要了解web应用程序的开发知识。但是,它会帮你很多。您还可以使用HTML5、CSS和JavaScript构建移动应用程序

嗯,web应用程序的基础知识非常有用。毕竟,正如你所说,移动应用只是另一种类型的客户端。了解网络通信的原理是至关重要的。应用程序的服务器端完全相同。就客户端而言,将代码从java传输到android相当容易

视情况而定

您可以开发完全不需要任何web组件的移动应用程序

我发现至少有两个大问题使得web开发对于移动应用程序非常有用

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

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


我也建议您看看web技术。

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

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

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

有一些服务允许您为移动应用程序构建“后端”,而无需担心获取自己的服务器或编写服务器端代码。适用于某些类别的应用程序


我希望这一切都有意义。web开发(如服务器端)和移动开发(移动设备上的本机代码)之间肯定存在重叠。两者都要学习,如果有必要,可以专攻其中一个。

我认为这取决于你想如何构建你的移动应用程序。如果您的应用程序可以在本地执行某些操作,那么就不需要了解web编程。但如果您的应用程序想要与服务器通信,或者想要使用web内容(例如呈现HTML5和javascript),那么您最好了解web编程。本地应用和web应用都可以做到这一点,但利弊不同。还有一些平台可以帮助您使用html和js开发移动应用程序,然后将其转换为本机代码,如Tianium


IMHO,如果可能的话,移动应用的处理应该在服务器上完成。这样,应用程序可以做得更多,效率更高。因此,了解web应用程序开发将是一个巨大的优势。

您可以开始学习移动应用程序开发,而无需事先了解web/企业应用程序开发

但是,如果你有这些知识,你的工作肯定会更容易。您需要了解
RESTServices
的基本知识(因为这主要是您通过移动应用程序与服务器交互的方式),了解
httppost、GET、DELETE等的工作原理。还可以体验
MySQL
SQL
,这将帮助您使用
SQLite
(这基本上是您在移动应用程序上的数据库)。另外,如果您对
ORMs
有一些了解,例如
Hibernate
,如果您有一个大型模型,并且在设备上缓存了一个大型数据结构,并且允许您使用
或mlite
(例如,在Android上)

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

祝你好运。

一个网络应用程序