关于手机APP开发用混合还是原生现在说法不一,有说混合开发好:时间短、费用低、效果也不错,有说原生开发好,原生APP在性能方面比较好。而商城系统中的手机APP用混合开发还是原生开发比较好呢?

最近我参与开发的SHOP++商城系统项目也牵涉到手机APP,到底用混合模式还是原生模式开发,又有哪些区别?本文分别进行分析,仅供参考。

混合模式APP

混合应用开发正是结合原生和HTML5开发的技术,取长补短的一种开发模式,原生代码部分利用WebView插件或者其它的框架为HTML5提供了一个容器,程序主要的业务实现、界面展示是利用H5相关的Web技术进行实现的。比如现在的京东、淘宝、今日头条等都是利用的混合开发模式。

优点:

①.开发效率高,节约时间同一套代码Android和IOS基本都可用;

②.更新和部署比较方便,不需要每次升级都要上传到App Store进行审核了,只需要在服务器端升级就可以;

③.代码维护方便、版本更新快,降低产品成本;

缺点:

①.由于不能直接操控硬件有些方面性能不是很好;

②.用户体验不如本地应用,性能稍慢(需要连接网络);

原生模式APP

原生模式开发代表着较好的用户体验和更快更高的性能。原生app开发采用的纯原生应用开发,是在Android、IOS等移动平台上利用官方提供的开发语言、开发类库、开发工具进行App开发。比如android是利用java、eclipse、Android studio,iOS是利用Objective-C 和Xcode进行开发。原生应用由于利用的是官方提供的语言和工具并且能够直接操控硬件设备(比如多点触控、NFC、读取短信等),在应用性能上和交互体验上应该是最好的,但是原生应用的可移植性比较差,特别是一款原生的App,Android和IOS都要各自开发,同样的逻辑、界面要写两套。

优点:

①.可访问手机所有功能、可实现功能齐全;

②.运行速度快、性能高,的用户体验;

③.比较快捷地使用设备端提供的接口,处理速度上有优势;

缺点:

①.开发成本高;

②.支持设备非常有限(一般是哪个系统就在哪个平台专属设备上使用);

③.上线时间不确定(App Store审核过程不一);

④.获得新版本时需重新下载应用更新;

如何通过混合模式进行商城APP开发

目前混合模式开发的APP主要是使用Hbuilder技术进行,通过Hbuilder开发APP请参考以下方法。

(一)、安装HBuilderX ,进行基础配置

下载并安装HBuilderX导入项目,在HBuilderX中打开“manifest.json”文件,进行基础配置并保存,如下图所示:

(二)、进行SDK配置

在HBuilderX中打开“manifest.json”文件,点击“SDK配置”,如下图所示:

(三)、网址替换

在HBuilderX中打开“client_index.html”、“sitemap.json”文件,将所有包含“https://www.example.com”替换为“实际网站网址”并保存,如下图所示:

(四)、运行调试

通过USB数据线将手机与电脑连接,进行运行调试,如下图所示:

(五)、打包发行

打开HBuilderX,进行APP安装包的打包发行,如下图所示:

(六)、打包成功,上传到Android、iOS应用商店

总结

如果在以前或是游戏网站肯定不推荐使用混合APP,但我们知道以现在的技术发展来看,Web网站其实对性能的要求并不高,且现在智能手机的硬件配置都比较好,单从成本角度考虑,如果APP是应用在商城系统中,混合模式APP性价比更高。

APP手机商城系统选择,混合开发与原生开发哪个好?的更多相关文章

  1. wemall app微信商城系统Android之通用通知接口demo

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享Native(原生)支付模式一demo,供技术 ...

  2. 微信环境支付宝服务窗环境app手机浏览器pc端混合判断

    //微信环境 if(userAgent.match(/micromessenger/) == 'micromessenger'){ }//支付宝服务窗环境else if(userAgent.match ...

  3. Web开发、原生开发、混合开发的区别优势:

    一.Web 应用 Web应用本质上是为移动浏览器设计的基于Web的应用,它们是用普通Web开发语言开发的,可以在各种智能手机浏览器上运行. 优点: 支持设备广泛: 较低的开发成本: 可即时上线: 无内 ...

  4. 途虎养车Tuhu商城系统开发

    途虎养车Tuhu商城系统开发,咨询:何经理152-2217-7508(微信同号)途虎养车商城小程序开发,途虎养车商城小程序平台开发,途虎养车商城小程序系统开发. 为什么能做得这么好,里面的门道确实不少 ...

  5. 【Hybrid App】关于Hybrid App技术解决方案的选择

    [引言]近年来随着移动设备类型的变多,操作系统的变多,用户需求的增加,对于每个项目启动前,大家都会考虑到的成本,团队成员,技术成熟度,时间,项目需求等一堆的因素.因此,开发App的方案已经变得越来越多 ...

  6. 原生开发、H5开发、混合移动开发的优缺点

    一.原生开发(Native App开发) 原生开发,是在Android.IOS等移动平台上利用官方提供的开发语言.开发类库.开发工具进行App开发.比如Android是利用Java.Eclipse.A ...

  7. CRMEB单商户商城系统v4.0源码,含前端uni-app源码

    CRMEB商城系统是基于ThinkPhp6.0+Vue开发的一套新零售移动电商系统,CRMEB系统就是集客户关系管理+营销电商系统,能够快速积累客户.会员数据分析.智能转化客户. 有效提高销售.会员维 ...

  8. 微信商城系统与手机APP的优势对比!

    随着移动互联网的大势到来,手机移动应用已经成为未来的主流市场,很多企业也在投入精力和财力进行研发自己的手机APP,以便更好的迎合市场的需求. 然而当微信公众平台开放以后,新的机会出现了! 很多企业已经 ...

  9. 基于JSP+Servlet开发手机销售购物商城系统(前台+后台)源码

    基于JSP+Servlet开发手机销售购物商城系统(前台+后台) 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图: ...

随机推荐

  1. 手动部署EJB于WebLogic

    转载自http://blog.sina.com.cn/s/blog_678530f60100hy6c.html 说是转载,其实是我个人几年前在新浪博客上发表的一篇文章 上一篇说道如何使用Eclipse ...

  2. Neo4j电影关系图

    “电影关系图”实例将电影.电影导演.演员之间的复杂网状关系作为蓝本,使用Neo4j创建三者关系的图结构,虽然实例数据规模小但五脏俱全. 步骤: 一. 创建图数据:将电影.导演.演员等图数据导入Neo4 ...

  3. 【基础算法-模拟-例题-玩具谜题】-C++

    原题链接P1563 玩具谜题 这道题依然是一道模拟题目,就简单讲讲坑点: 1.有些时候在转圈的时候要用到它们站成了一个环的性质! 2.小人面朝的方向影响了它们左右的方向! 3.注意考虑顺时针逆时针与小 ...

  4. 比赛:小奔的矩形solution

    分析: 交叉相乘,然后除以最大公因数(为了减少爆常数的可能性std做了两次,数据很大),得到的两个数相加减二就是答案 代码: var p,q,n,m,a,b,i:int64; begin readln ...

  5. canvas制作表单验证码

    canvas是个非常强大的组件,网页上的验证码一般都是用服务器语言制作出来的 canvas同样是可以实现这个功能的 下面请观看效果图: 步骤呢其实也很简单 HTML部分: <form actio ...

  6. MyBatis框架之基本知识介绍

    前身背景: 前身是iBatis,为Apache的一个开源项目.2010年迁移到了Google Code,改名为MyBatis.2013年迁移到Github. MyBatis框架以及ORM MyBati ...

  7. 微信小程序开发--页面之间的跳转

    一.navigator--完成页面之间的跳转 1.新建一个页面文件夹 2.在app.json文件中引入页面 "pages": [ "pages/index/index&q ...

  8. C++多小球非对心弹性碰撞(HGE引擎)

    程序是一个月前完成的,之前一直没正儿八经的来整理下这个程序,感觉比较简单,不过即使简单的东西也要跟大家分享下. 源码下载:http://download.csdn.net/detail/y851716 ...

  9. ioc和aop的区别

    IoC,(Inverse of Control)控制反转,其包含两个内容:其一是控制,其二是反转.在程序中,被调用类的选择控制权从调用它的类中移除,转交给第三方裁决.这个第三方指的就是Spring的容 ...

  10. JNDI总结(一)

    一.数据源的由来 在Java开发中,使用JDBC操作数据库的四个步骤如下:   ①加载数据库驱动程序(Class.forName("数据库驱动类");)   ②连接数据库(Conn ...