android开发分享在本地和phonegap,简单的应用程序要求之间挣扎

我要做一个本机(意思是, 不在浏览器中)的移动应用程序。 由于我是一个web开发人员,我正在努力决定是否应该尝试Phonegap或者只是在java或objective-c中构build本地应用程序。

应用程序的要求很简单。 GPS / WIFI的位置,Facebook的整合,我想我需要一个数据库来处理一些应用程序特定的Facebook的朋友关系。 比如像游戏中的高分 – 比如说。

我是一个networking开发人员,但不知道Java或Objective-C。 我从来没有用过Phonegap,所以我不知道它是否能够满足我的要求。

所以我的问题如下: 我可以为我的应用程序使用Phonegap,还是需要潜入新的语言?

    有关:

    这篇文章的更大的版本也可以在这里find,要透明,这是我的个人博客。

    混合与原生应用程序

    混合应用:

    优点:

    缺点:

    原生应用:

    优点:

    缺点:

    就你而言,如果你有一个良好的网站开发/devise技能和/或有一个好的devise师,你应该select一个混合应用程序。 只有当这个应用程序将是一个复杂的只有本地。 你想要的一切都可以用混合应用来完成。 你会发现一个伟大的支持社区。

    混合应用

    我以前没有提到的你在这里需要特别小心。 即使你是经验丰富的开发人员,你也会发现很多你无法解决的问题。 混合发展不应该被误认为基本的networking发展。

    每个移动平台都有自己的一套问题,更不用说手机的行为依赖于设备。 如果可能的话,总是创build一个适用于较慢设备的应用程序,因为本地应用程序几乎可以在任何设备上工作

    还有最后一件事,创build混合应用程序时,应用程序开发将占用您大约30%-50%的时间,其余的时间用于特定的平台debugging和学习。 相信我,即使经过几年的移动开发,有时候我也面临着我无法单独解决或者解决不了的问题。

    所以在select移动框架时要小心,选2-3,花几天的时间阅读一下。

    链接

    这里有几个链接可以帮助你决定:

    PhoneGap + jQuery Mobile 1.4教程 – 这是针对PhoneGap和jQuery Mobile最新版本的分步教程

    PhoneGap + jQuery Mobile 1.4教程 – MacOS版本 – 这是一个在MacOS上的PhoneGap部署一步一步教程。 jQuery Mobile的一部分在前面的文章中已经介绍过,没有重复的地方。

    jQuery Mobile vs Sencha Touch – jQuery Mobile Sencha Touch比较

    jQuery Mobile vs Kendo UI – jQuery Mobile Kendo UI比较

    7个最着名的HTML5移动框架 – 名称告诉一切

    7个不太知名的HTML5移动框架 – 名称告诉一切

    如果您的应用程序没有animation效果,而且我更喜欢在较短的时间内在networking(Phonegap)cz中创build,我们可以在多种types的移动操作系统中启动。 如果你的应用程序包含更多的UI效果和animation,那么最好是与本地..

    即使您在webview(Phonegap)中开发,也需要学习Android和iOS中的一些基本步骤

    Phonegap如何在设备中执行

    Ios在ios webview中的animation和视图加载是困难和好的,animation效果可以清晰地观察

    Android的
    在运行html代码的时候,我们必须考虑Android的设备版本和设备公司,android中的一些高configuration设备给出了更清晰和高效的animation显示,但是一些设备(大多是旧版本和一些公司设备)不能给出好的animation效果,渲染效果因设备而异,

    用我的愚蠢的意见,你可以开发简单的应用程序,没有更多。 文档是不够的,像其他人说,你将花费更多的时间修复错误和寻找插件比build立你的应用程序。 我会努力学习Android或iOS或其他任何东西,把它看作是你的时间投资 。 (是的,我的评论是有点偏见)。

    最后,我看着它PhoneGap是所有的HTML,CSS和JavaScript。 所以,你可能会感到宾至如归。 PhoneGap可以处理GPS位置,请参阅PhoneGap文档中的这篇文章。 你是否想要拾取Objective C将取决于你select新语言的速度有多快,因为这与Web开发有一点偏差。

    这完全取决于你的需求

    在发布我的第一个应用程序几个月后(原生的Android,数据库驱动,宁静的连接应用程序),我决定用phonegap重写我的应用程序(因为我想克隆应用程序到iOS,所以而不是在ObjC做,为什么不JavaScript) ?)

    在Android上,我花了一个Java开发人员,花了3周的时间学习和编写所有的东西。 把我的头靠在墙上几次,让我的服务器如何使ListAdapter与Restful Service同步,如何为应用程序提供主题(在我看来很难,特别是当涉及透明,边框等特殊效果时)。 )以及如何有效地构build代码库(如果您熟悉Java,则会发现所有类都相互耦合,因为大多数教程都是这样写的)

    在Phonegap上时,一切都在一周内完成。 Css,html, onsenuiangular使GUI的开发就像大约一年级的学生的任务和主题只是一小块蛋糕。 我不需要在真实设备上运行它,只需在开发过程中使用浏览器,更改代码和刷新就足够了。 Angular提供了2种与DOM绑定的方式,这在收集和显示数据的时候非常棒。 例如:

     <ul ng-each="for sentence in sentences" > <li>{{ sentence.title }} </li> </ul> 

    当variablessentences被改变(从服务器检索)时,DOM也自动改变。 但是,JavaScript只是JavaScript。 我发现自己在debugging应用程序的时候苦苦挣扎,尤其是在使用PouchDB做MapReduce函数时(大错误,今晚必须回到cordova-sqlite-plugin ),而且大部分时间,我必须读取日志以便找出问题(Chrome的工具和Firebug无法捕捉到断点)。 另外,很难重构你的应用程序(再一次使用javascript),所以如果你没有在第一个符号处仔细组织你的代码库,那么你可能会陷入一片混乱(而debugging又是一个真正的痛苦)。 PhoneGap也是基于Web的,所以有时候你会听到“因为在这个平台上,它不支持Bla bla bla”(例如localStorage ),如果你找不到任何好的插件,你必须站出来。

    结论除了基于networking存储的限制之外,PhoneGap在数据库驱动的简单的GUI应用程序(以及大多数数据库驱动的应用程序目前无论如何都有一个简单的GUI)上工作得非常好。 如果你要开发这种应用程序,然后坚持下去

    检查出使用离子 ,由angular.js支持来抵消在接受的答案中提到的一些缺点。 启动员工目录应用程序教程: http : //coenraets.org/blog/2014/02/sample-mobile-application-with-ionic-and-angularjs/

    另外还有AppGyver类固醇,可以很好的统一PhoneGap和Native UI。

    使用类固醇,您可以添加像本机标签,本地导航栏,本地animation和转换,原生模式窗口,原生抽屉/面板(Facebook的一面菜单)等东西到您的PhoneGap应用程序。 基本上,任何地方,CSS + JS都不会削减它,Steroids进入本地层执行操作。

    此外,类固醇,你可以(虽然你不必)使用多页面架构(多个网页浏览),而不是单一的。 对于单页面应用程序,所有类似于转换的东西都只是CSS解决方法,正如Mani所说,即使是现代的平板电脑和手机也不足以使其平滑。 当它是一个phonegap应用程序,尤其是当你有一堆进程,或者如果你滚动,因为JS进程受到侮辱(在iOS 8中修复)时,它总是很明显。

    使用多页面体系结构意味着你获得了100%的本地性能(因为这些部分实际上本地的)。 与phonegap不同的是,您将获得一致的用户界面行为和更容易的debugging(使用单个页面应用程序,通常很难在应用程序中重新创build特定的状态)。 由于您的代码库保持清洁,因此多页面可以更轻松地开发和维护您的应用程序。

    检查演示:http: //youtu.be/oXWwDMdoTCk?t=20m17s

    我也在这里find一篇好文章,它将这两种方法在不同的类别中进行了比较。

    总结如下:

    @Gajotres写了一个很好的回应,但自2012年以来,混合应用程序的性能已经走了很长的一段路。我回答了一个相关的问题 ,涵盖了2017年混合应用程序和本机应用程序开发之间的区别。

    这个故事的寓意是,混合应用程序的开发在过去的几年中有了很大的提高,但是在某些用例上仍然不能与本地的应用程序相匹配。

    借助Ionic( 2013年首次发布)和React Native( 2015年首次发布)等工具,使用类似本机的组件构build混合应用程序变得前所未有的简单。 混合应用程序现在更快,更lessbug,并能够与本地用户界面进行更深入的交互。

    混合应用程序性能的门槛远远高于几年前,但仍然有一点你可能需要以本地语言开发你的应用程序。

    原始答案:

    是的,一般情况是混合应用程序不如原生应用程序。 虽然这对于更熟悉networking技术的开发人员可能会感到沮丧,但确实有很好的理由:

    这个故事的寓意是它确实取决于你的具体用例的重要性。 混合应用程序已经成为一个可行的select,不再是一个尴尬的副秀。 反过来说,除了Native应用程序,还有一些与Native UX交互的方面还不可能。

    总的来说,我build议将您的项目映射出来,并确定您的应用程序是否需要本机应用程序的任何好处。 借助Ionic View应用程序等工具,您可以轻松地将您的应用程序的基本样机与实际设备进行testing,无论混合应用程序是否适用于您。

    一个被忽视的伟大的select是与Xamarin发展。

    虽然它不利于OP的网页开发技能,但它与PhoneGap相比有许多优点,而且几乎没有缺点。

    Xamarin vs PhoneGap优点:

    Xamarin vs PhoneGap缺点:

    因此,Xamarin是目前跨平台开发的一个非常稳固的select。

      以上就是android开发分享在本地和phonegap,简单的应用程序要求之间挣扎相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/515719.html

      (0)
      上一篇 2020年12月1日
      下一篇 2020年12月1日

      精彩推荐