我有一个在Django中构建的网站项目,并希望为它构建一个移动应用程序。我做了很多研究,但在native
和hybrid
应用之间感到困惑。我的项目基本上是Quora克隆,只是一个大学项目。我还看到了PhoneGap
,Ionic
和Sencha
,但我对它们如何适合我感到很困惑。我是否必须将Ionic
与PhoneGap
或Apache Cordova或Ionic
一起使用?结构是什么,我应该从哪里开始?
答案 0 :(得分:10)
TL; DR :从Ionic开始。 Ionic使用Cordova“引擎盖下”。不需要PhoneGap或Sencha,所以不要被它混淆。
免责声明:这听起来像广告,所以我不得不说我与Ionic没有任何联系,我碰巧喜欢它,以至于我分享对它的热爱。
让我们一步一步:
什么是离子?
Ionic是一个用于构建混合移动应用程序的框架,它构建在一个生态系统上,该生态系统包括Angular作为Web应用程序框架,并使用Cordova构建和打包本机应用程序。 Ionic创建了一个可以通过应用程序商店安装的本机移动应用程序,并包含所谓的WebView(本质上是一个独立的浏览器窗口),其中包含一个JavaScript API,Web应用程序将在其中运行。
什么是混合移动应用?
如果您是网络开发人员,那么您对HTML,CSS和JavaScript有很好的了解。此外,你最有可能使用像AngularJS这样的一些如此轻微流行的框架。直到最近,如果你想为(目前)两个最流行的移动操作系统iOS和Android制作应用程序,你唯一的选择就是使用预期平台的SDK制作所谓的原生应用程序本身。当然,这意味着您需要制作两个版本的应用程序 - 包括iOS和Android。如果你是一个单独的开发者,那么你精通两者并不是那么高。
现在,幸运的是,通过Ionic Framework,您可以使用您作为Web开发人员已有的技能创建一个应用程序,然后将这一个代码库作为应用程序部署到iOS和Android商店。这有多酷,对吧?因此,混合,因为它是一个“简单”的Web应用程序,包含在本机应用程序中,带有所谓的WebView。
为什么Ionic很酷?
离子很棒,因为它不仅仅是一个框架。相反,它有一个围绕它建立的整个生态系统。例如,Ionic允许您:
ionic resources
。仅此一项就可以为您节省至少一天的各种尺寸的图像准备工作。
ionic run --livereload
ionic serve --lab
ionic share
ionic build ios
或ionic build android
和woila)< / LI>
如何开始您的项目?
如果您查看我对working closely with the Angular 2.0 team的回答,您会看到如果您已经在Django后端定义了API,那么您可以通过利用现有API并使用它来快速开始使用它与Angular this question。
希望这有帮助,并且您发现使用Ionic是一种乐趣。
答案 1 :(得分:6)
请注意,移动应用也是clients,就像网络浏览器一样。您可以将移动应用视为特定网站/ Web API的专用浏览器或您可以称之为端点的内容。
客户端与服务器通信以请求某些资源,如果可用,则服务器响应。客户端如何处理响应是它开始变得混乱的地方,因为无论服务器给出什么响应,它都可以以客户端编程的任何方式操纵/呈现给真正的人类用户。
就像在网络浏览器中一样,如果你请求HTML内容,那么你会得到一个带有按钮的漂亮网页,可能还有动画和东西。您也可以使用控制台终端请求相同的内容,但您可能得到的只是一个丑陋的HTML blob充斥您的终端。为什么?因为作为控制台终端的客户端不是为了呈现HTML而设计的,而是Web浏览器。
现在适用于移动应用:原生移动应用不会呈现HTML。这些类型的应用程序的UI已经用Java或Obj-C等其他语言编写,但它仍然可以从Web API(JSON,XML等)请求和处理内容,以便在其UI中填充字段或显示/隐藏按钮取决于您的访问级别。
我不能对混合应用程序的具体细节作出太多评论,因此其他人也可以随意清除任何误解。混合应用程序可以在应用程序的某些部分呈现HTML,同时在应用程序的某些其他部分保留该原生方面,以便应用程序可以与硬件进行交互。就我的观点而言,混合移动应用程序只是一个包含浏览器界面的本机应用程序。
Django只是一个Web框架,您可以使用它来编写您的移动应用程序可以与之通信的网站或Web API。 PhoneGap,Ionic和Sencha是移动开发框架,可用于创建这些移动应用程序。