所以我希望学习Web应用程序开发和移动应用程序开发,我想知道两者之间是否存在重叠。更具体地说,在构建移动应用程序时,开发Web应用程序的知识是否必不可少或甚至有用 我的印象是,在开发使用互联网的移动应用程序之前,必须首先了解基本的Web应用程序开发(至少是服务器端编程)(因为我认为移动应用程序只是一个不同的客户端,最终会有与某个服务器上的Web应用程序通信)。然而,谷歌搜索引发了有关移动网络应用程序与本机移动应用程序的讨论,这让我感到困惑(例如Shazaam是本机还是网络应用程序?)。 请帮我理解。
答案 0 :(得分:2)
原生应用是在您的手机上执行的应用。 Web应用程序是一个应用程序,可以在您的移动应用程序中打开一个webPage,就像一个经典的Web浏览器。
你不必知道web dev来做移动开发,但它可以提供帮助,每个平台的编程都是一样的,每次改变时你只需要知道新语言,但原则是相同的。
答案 1 :(得分:1)
开发移动应用程序不需要了解开发Web应用程序。但是,它会帮助你很多。您还可以使用HTML5,CSS和&amp ;;构建移动应用程序。 JavaScript的。
答案 2 :(得分:1)
取决于。
您可以开发完全不需要任何网络组件的移动应用程序。
我发现至少有两大问题使网页开发对移动应用非常有用
您可以开发基于网络技术的非原生移动应用。使用jQuery mobile或GWT(或其他框架)将支持您的应用程序的平台独立性。背面绘制是该应用程序无法使用移动设备的所有功能(例如相机),并且它们通常具有较低的性能和电池/电源效率。
我发现将云技术与移动设备结合使用非常自然。您可以使用Web来保存和共享数据。这使您可以构建由移动和桌面驱动的应用程序(桌面在数据输入方面效率更高)
我也建议您查看网络技术。
答案 3 :(得分:1)
迟早,您的移动应用程序需要与服务器通信以执行有用的操作 - 手机是瘦客户端(相对而言)。所以是的,通常情况下,您会使用服务器端语言(如PHP或RoR)为您的移动应用程序构建某种API,以便与之交谈并发挥作用。
例如,因为你买了Shazaam(这是一个原生应用程序):Shazaam会记录几秒钟的音乐使用,然后上传到一个网络服务,该服务可以完成对录制的音乐进行采样的所有繁重工作并进行查找在(我想象的)巨大的音乐数据库中,用于音乐的“签名”并将识别的歌曲发送回电话,以便将其呈现给用户。在此过程中的某处,有服务器端代码可以执行此操作。
我曾经在移动应用程序开发刚开始起飞的公司工作(2008-09)那里有些人只为Android / Blackberry或Objective-C编写Java for iOS并且不知道jack是什么发生在后端。为此,他们讨论了编写JSP或python的服务器端人员,以构建他们的本机代码可以与之交谈的API。
有一些服务Parse允许您为移动应用程序构建“后端”,而无需担心获取自己的服务器或编写服务器端代码。适用于某些类别的应用程序。
我希望一切都有道理。 Web开发(如服务器端)和移动开发(移动设备上的本机代码)之间肯定存在重叠。学习两者,如果有必要,请专注于一个。
答案 4 :(得分:1)
您可以在不事先了解Web /企业应用程序开发的情况下开始学习移动应用程序开发。
但是,如果你有这方面的知识,肯定会让你的工作更轻松。您需要了解RESTServices
的基础知识(因为这主要是您将如何与移动应用程序中的服务器进行交互),了解HTTP POST, GET, DELETE
等工作方式。使用MySQL
或SQL
的经验也可以帮助您使用SQLite
(这基本上是移动应用上的数据库)。此外,如果您对ORMs
有Hibernate
的某些知识,例如ORMLite
,也可以在您的移动应用中为您提供帮助,如果您有一个大型号,以及您在设备上缓存的大型数据结构,那么允许你使用{{1}}(例如在Android上)。
绝对所有这些都会对您有所帮助,而且有关编程标准/设计模式/ Java / Objective-C的任何其他经验将使您的工作更轻松,并且您开发的产品更可靠/稳定。
祝你好运。答案 5 :(得分:1)
网络应用程序是一个网站(有时但不总是针对移动设备)使用与本机应用程序开发不同的技术/语言集(php / perl / .net / xhtml / ccs等)(obj c,c ++) ,java)。
是的,对两者都有所了解是有用的,但如果我是你,我会专注于一条路(一件事)服务器/后端/网络应用/网站建设或移动开发。在决定转向移动应用开发之前,我在网络软件开发环境中工作了10多年。现在我没有网络编码,我使用现有的网络服务或与其他从事网络服务工作的人一起工作。
它还取决于您要构建的应用程序类型。如果你想为移动设备编写游戏,那么你不需要学习任何网络内容。使用Apple的游戏中心作为排行榜等。
即使您想编写与Web服务通信的移动应用程序,我建议您首先编写一些使用现有Web服务的应用程序,这样您就可以集中精力构建可以在不尝试学习多种编程语言的情况下工作的内容。一旦。有很多网站可以使用网络服务来创建自己的应用程序。
有使用网络技术(phoneGap,钛等)编写应用程序的选项,但我个人会避免使用它们。
答案 6 :(得分:0)
嗯,关于Web应用程序的基础知识非常有用。毕竟,正如你所说,移动应用程序只是另一种类型的客户端。了解网络通信的原则至关重要。应用程序的服务器端完全相同。就客户端而言,将代码从java转移到android非常简单......!
答案 7 :(得分:0)
我认为您希望如何构建移动应用程序。如果您的应用可以在本地执行某些操作,则无需了解Web编程。但是,如果您的应用程序想要与服务器通信,或者想要使用Web内容(例如呈现HTML5和javascript),那么您最好了解Web编程。本机和Web应用程序都可以做到这一点,但不同的优点和缺点。还有一些平台可以帮助您使用html和js开发移动应用程序,然后将其转换为本机代码,如钛。
恕我直言,如果可能,应在服务器上完成移动应用程序的处理。通过这种方式,应用程序可以做得更多,效率更高。因此,了解Web应用程序开发将是一个很大的优势。