谈谈APP架构选型:React Native还是HBuilder

原文链接导读:最近公司的一款新产品APP要进行研发,老大的意思想用H5来做混合APP以达到高效敏捷开发的目的。我自然就开始进行各种技术选型的调研,这里重点想说的是我最后挑选出的2款hybridapp开发技术方案:RN(reactnative),HBuilder。ReactNative是大名鼎鼎的Facebook的开源技术框架,而HBuilder是国内的H5工具开发公司DCLOUD的产品。我自己先总结下吧:这两个技术框架在开发效率上基本上可以媲美WEB开发的速度,RN强调的是“Learnonce,writeanywhere”,RN不强求一份原生代码支持多个平台;而HBuilder则可以实现类似JAVA的“Writeonce,runanywhere”,也就是说写一份代码,即可同时发布多平台,这个效率比原生开发而言自然会double。两者的原理其实都是基于JS在做前端开发,用JS去做桥接调用原生的API,最大的优点是方便做APP的动态更新而不用频繁去发布版本,当然hybrid的这种框架也有弱势缺点,就是目前原生APP的开发生态已经趋向成熟,一些...

***交互干货必收 | App界面交互设计规范

在上篇《APP界面设计风格》确定下来后,产品经理(兼交互设计)还不用着急将所有的交互稿扔给设计师进行细致的界面设计。在细节设计启动前,拉上设计师和安卓前端开发、ios前端开发一起商议确定设计规范先吧!APP设计规范指对APP界面进行风格统一,对界面元素的样式、颜色和大小设定统一的规范和使用原则。与设计、前端约定好统一的设计规范很重要,约定设计规范可以减少产品、设计、前端的沟通成本;可以使界面设计整洁、统一,减少界面元素的重复设计;可以减少设计素材,控制安装包的大小。APP设计规范主要包括对界面布局、背景色、字体颜色大小、界面元素间距、弹层、loading、图标、按钮常态点击态等进行统一的梳理和规范。页面布局页面布局和交互规范上建议安卓、ios尽量统一,这样可以避免安卓和ios分别设计一套稿子。当然土豪公司可以忽略这个建议,安卓和ios分别做专门的设计当然更好。在中小型项目来看,设计资源紧张的话可以考虑安卓和ios用同一个稿子,分别做相应的微调后输出适用安卓和ios不同的尺寸要求就可以。推荐使用mac矢量设计工具"sketch"。以ios平台的iPhone5的尺寸640*1136px作为...

《APP开发》APP规范实例-详细的UI设计方法

  对了一个APP开发初手来说,可能心里有很多的疑惑:  屏幕设计为多宽,宽度是不是应该设置为百分比;  按钮大小多大,怎么排列,文字字体用多大的?什么字体显示好看?图标多大,怎么用色?界面怎么布局?等等很多的问题,这篇文章就是专门为你们准备的。。。...

混合APP开发框架资料汇总

Ionic(ionicframework)一款接近原生的Html5移动App开发框架 会htmlcssjs就可以开发app,Ionic基于angualrjs框架是一个专注于开发移动wap以及app的技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。Ionic框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。http://www.phonegap100.com/http://www.ionic.wang/使用ionic+angular+phonegap开发APP入门http://ju.outofmemory.cn/entry/104361 使用Ionic+ApacheCordova开发跨平台混合型的移动应用http://blog.csdn.net/zoutongyuan/article/details/41910903?utm_source=tuicool IONIC中文教程http://www.haomou.net/2014/10/06/2014_ionic_learn/...

如何判断一个app是原生app还是 webapp,或者是混合app

1、(快速)滚动起来是否比较卡2、图片加载失败的图标断网检查不是绝对的,webapp并不一定是在远程服务器上的,也能pack在程序里,load本地的资源也能算是webapp。  webapp是运行在浏览器上的啊,不需要下载安装,木有网络基本就挂鸟原生应用就客户端了,可以离线,一般需要下载安装使用。。 混生的明显卡好吗,下拉列表时经常出现撕裂感,一般混生webview都会加个进度条,一看就知道,微信就有,当访问一个网址的时候,上方会出现一条进度条 ...

App竞品技术分析 (3)减小安装包的体积(转)

http://blog.csdn.net/JspAndAsp/article/details/493394031从几件小事说起  春节在家帮姐姐的iPhone手机安装市面上形形色色的App,忘记她是使用4G流量包月了,于是在下载了10个App后,不但耗尽了流量,还按照0.3元/兆的价格扣了七八十元流量费用。后来我检查了这几个App的体积,发现每个App体积都是40-50M的样子,这让我很吃惊,因为我记得两年前这些App也就在10-20M的样子。  另一件记忆犹新的事情,是去公园景点游玩,当时公园门口有个活动“扫二维码下载App下单立减10元”,但是我发现下载这个40M的App要花费12元的流量,这样其实是要额外多花2元钱,所以“扫码立减”这件事情对于我这种小市民而言是很不划算的。  由此而得到一个结论,App安装包的体积一定要小,至少要比竞争对手的App体积小。  对于Android而言,国内的各大市场商店已经发现这个问题了,所以对于用户升级App,会为每个App提供增量下载的功能,所以App版本升级不再是几十M的流量,而只是下载1-2M...

ios开发之AppDelegate

创建应用程序之后之后,默认有AppDelegate.h文件与AppDelegate.m文件。   AppDelegate为何物?  AppDelegate为整个应用的一个代理,提供程序启动、退出等类似监控的接口。      AppDelegate.m   接口所在的文件,常见接口有:   applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions//应用程序启动后,要执行的委托调用   applicationWillResignActive:(UIApplication*)application//应用程序将要由活动状态切换到非活动状态时执行的委托调用,如按下home按钮,返回主屏幕,或全屏之间切换应用程序等。   applicationDidEnterBackground:(UI...

IOS 视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途

iOS视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear的区别及用途init-初始化程序viewDidLoad-加载视图viewWillAppear-UIViewController对象的视图即将加入窗口时调用;viewDidApper-UIViewController对象的视图已经加入到窗口时调用;viewWillDisappear-UIViewController对象的视图即将消失、被覆盖或是隐藏时调用;viewDidDisappear-UIViewController对象的视图已经消失、被覆盖或是隐藏时调用;viewVillUnload-当内存过低时,需要释放一些不需要使用的视图时,即将释放时调用;viewDidUnload-当内存过低,释放一些不需要的视图时调用。         视图控制对象通过alloc和init来创建,但是视图控制对象不会在创建的那一刻就...

***微信浏览器禁止app下载链接怎么办

通过扫描二维码下载APP已成为一个非常方便的方式,微信也成为扫描二维码重要的工具,但是扫描后微信浏览器会对APK和appStore的链接进行屏蔽,导致用户无法正常下载。本文提供两个迂回的解决方案:1.使用腾讯应用宝;2.提示用户使用浏览器打开。第1种方法不用介绍了,把APP提交给腾讯应用宝即可,需要等待腾讯的审批,审批条件比较苛刻,腾讯采用分级审批方式,如果你是高级开发者,可以不审批先上线,如果是低级开发者,那么辛苦地等待吧。通过之后,会生成一个下载页面,该页面同时还能够跳转到appStore,前提是先录入appStore的相关信息。第2种方法思路:制作一个app下载页app-index.html,逻辑如下:如果,是weixin浏览器:如果,是iphone或者ipad:则显示“使用Safari打开”否则显示“使用浏览器打开”否则:显示下载页面测试样例,扫描下面二维码:效果如下:下面将js实现部分代码列举,也可通过查看源代码了解细节。functionis_weixin(){varua=navigator.userAgent.toLowerC...

Unable to find the wrapper "https"错误的解决办法

PHP.ini默认配置下,用file_get_contents读取https的链接,就会如下错误:Warning:fopen()[function.fopen]:Unabletofindthewrapper"https"-didyouforgettoenableitwhenyouconfiguredPHP?这个错误分3种解决方案:1.windows下的PHP,只需要到php.ini中把extension=php_openssl.dll前面的;删掉,重启服务就可以了。2.linux下的PHP,就必须安装openssl模块,安装好了以后就可以访问了。3.如果服务器你不能修改配置的话,那么就使用curl函数来替代file_get_contents函数,当然不是简单的替换啊。还有相应的参数配置才能正常使用curl函数。   ...

PHP获取APP客户端的IP地址的方法

分析php获取客户端ip 用php能获取客户端ip,这个大家都知道,代码如下: [php] viewplaincopyprint? /**  * 获取客户端ip  * @param number $type  * @return string  */  function getClientIp($type = 0) {      $type       =  $type ? 1 : 0;      static $ip  =   NULL;&nb...

****RESTful API 设计最佳实践(APP后端API设计参考典范)

http://blog.jobbole.com/41233/背景目前互联网上充斥着大量的关于RESTfulAPI(为方便,下文中“RESTfulAPI”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你不得不殚精竭虑的设计和实现自己app的publicAPI部分。因为一旦发布,对外发布的API将会很难改变。在给SupportedFu设计API的时候,我试图以实用的角度来解决上面提到的问题。我希望可以设计出容易使用,容易部署,并且足够灵活的API,本文因此而生。 API设计的基本要求网上的很多关于API设计的观点都十分”学院派“,它们也许更有理论基础,但是有时却和现实世界脱轨(因此我是自由派)。所以我这篇文章的目标是从实践的角度出发,给出当前网络应用的API设计最佳实践(当然,是我认为的最佳了~),如果觉得不合适,我不会遵从标准。当然作为设计的基...

**app后端设计(10)--数据增量更新(省流量)

 在新浪微博的app中,从别的页面进入主页,在没有网络的情况下,首页中的已经收到的微博还是能显示的,这显然是把相关的数据存储在app本地。   使用数据的app本地存储,能减少网络的流量,同时极大提高了用户的体验(想想,很多数据都能在app本地获取,显示的速度当然快)。使用了本地存储后,需要考虑的是数据的增量更新方案。   什么是数据的增量更新?假设,用户A的首页在数据表中是有40条数据,id1-40,app每次获取10条数据。第一次运行,app从数据表获取了id1-10条数据同时存储在本地。假设用户离开了这个页面再回到首页,这时app需要再次从数据库中获取数据,由于之前已经有10条数据(id1-10)存储在app本地了,那么现在需要从数据库中获取的10条数据就是从剩余的30条中数据获取(id11-40)后并保存在app本地。这个就是增量更新的典型例子。   增量更新的原理是在数据库中,每条数据都必须有update_time这个值,记录数据最后更新的时间,当app从服务器获取了一次数据后...

**17.app后端如何保证通讯安全--aes对称加密

在上文《16.app后端如何保证通讯安全--url签名》提到,url签名有两个缺点,这两个缺点,如果使用对称加密方法的话,则完全可以避免这两个缺点。在本文中,会介绍对称加密的具体原理,和详细的方案,使app通讯更加安全。  采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。  其实很简单,假设有原始数据"1000",把1000加5就得到密文"1005",得到密文"1005"后减5就得到原始数据"1000"。把原始数据加5就是加密算法,把密文减5就是解密算法,密钥就是5。  本文所用的是AES这种通用的对称加密算法。  (1)curl简介  在下面的例子中,会使用curl工具,先简单介绍一下。  curl是利用URL语法在命令行方式下工作的开源文件传输工具。  用到的参数:  -X:指定什么命令,例如post,get等。  -H:指定httpheader。  -d:制定httpbody的内容  (2)怎么保证token在初次返回时的安全  用下面的api返回加密的token  curl-XPOST  -H"Token-Para...

**16.app后端如何保证通讯安全--url签名

app和后端通讯过程中,api请求有可能被别人截取或不小心泄露。那么,怎么保证api请求的安全呢?在这篇文章中,介绍一种常见的保证api请求安全的做法--url签名。  在前一篇文章<15.app后端怎么设计用户登录方案>中,服务器中验证用户名和密码都正确后,生成一个随机的不重复的token字符串(例如"daf32da456hfdh"),在redis或memcache中维护一个映视表,建立token字符串和用户信息的对应关系表,例如,把token字符串"daf32da456hfdh"和用户id"5"对应起来,服务器把token字符串返回给app用作身份验证。  这个身份验证是依赖于token字符串。如果用户泄露了自己的url,那很大程度上token也被别人泄漏了。  怎么防止token被泄露?不让token在网络上传输就行。  注意,这个url签名的方法是和前面<15.app后端怎么设计用户登录方案>紧密联系在一起的,没看过前面一篇文章请先看。  (1)服务器中验证用户名和密码都正确后,把token字符串和用户id都返回给客户端,例如token字符串"daf32da456...
首页上一页...105106107108109下一页尾页