首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Weex 在饿了么前端的实践

饿了么前端场景 大量的在WebView中使用页面,Vue开发者多于React开发者。页面中和店铺页面、活动页面相关的比较多,而且活动更新会比店铺更新多一点。...在“蜂鸟配送”等APP中使用React Native来快速更新APP,积累经验。 对于我们的场景来说,React Native的列表占用内存过大,没有复用机制,会占用越来越多的资源。...在学习成本上,React Native比H5和Weex要高; 测试方面,React Native和Weex的弱交互性能比较好。...但是在强交互方面,React Native性能最佳;H5能实现,性能差;Weex则还存在一些相对较弱的方面,部分拖动的相关效果无法实现。 ReactNative在兼容性方面并没有那么好。...关于React Native的Breaking Changes,可以通过Google搜索“React Native放弃”,可以搜到大量的文章。

1.8K60

React native开发中常见的错误

react native环境搭建请移步:react native环境搭建 这里说说react native创建完成之后,运行中出现的常见问题, 问题1: java.lang.RuntimeException...这个是因为未找到运行的设备 解决方法:注意在运行命令:react-native run-android之前一定要确保手机已经连接上电脑。...解决方案: 打开RN项目目录下的InitializeCore.js进行修改,该文件路径为: 你的RN项目\node_modules\react-native\Libraries\Core\InitializeCore.js...A:请用编辑器打开项目目录中的package.json,找到类似下面的一行配置 "react-native": "0.31.0" Q:应该使用什么IDE开发?...React Devtools插件可装可不装,它只用来查看布局,不影响调试,且在目前的版本(>0.13)中还无法正常加载。 ?

2.4K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    跨平台技术演进

    通信分为以下两个维度: JavaScript 调用 Native,有两种方式: 拦截URL Scheme:URL Scheme是一种类似于url的链接(boohee://goods/876898)...,当web前端发送URL Scheme请求之后,Native 拦截到请求并根据URL Scheme进行相关操作。...库 不能灵活操作 DOM,无法实现较为复杂的效果 页面大小、打开页面数量都受到限制 既然WebView性能不佳,那有没有更好的方案呢?...下面我们看看React Native。 React Native ? RN的理念是在不同平台上编写基于React的代码,实现Learn once, write anywhere。...在 React 框架中,JSX 源码通过 React 框架最终渲染到了浏览器的真实 DOM 中,而在 React Native 框架中,JSX 源码通过 React Native 框架编译后,与Native

    2.4K20

    如何同时运行多个React Native、8081端口占用问题

    这一切都是React Native帮开发者配置好的,一切都是那么简便,但如果出现如下几种情况,那么你需要认真阅读本文了: 8081端口被其他程序占用(比如杀毒软件),导致React Native无法正常启动...第二步:修改iOS项目的端口号 在修改了React Native 服务的端口号之后,我们要需改iOS项目的端口号让它从新端口获取jsbundle,否则的话会出现No bundle URL present...提示:如果你的React Native项目没有iOS模块可以忽略此步骤; 通过XCode打开React Native项目中的iOS项目; 修改以下文件的端口号: RCTWebSocketExecutor.m...第三步:修改Android项目的端口号 在修改了React Native 服务的端口号之后,我们要需改Android项目的端口号让它从新端口获取jsbundle,否则的话会出现No bundle URL...提示:如果你的React Native项目没有Android模块可以忽略此步骤; 打开调试工具(Dev Settings),可以通过(command+M) 完成; 点击 Debug server host

    2.7K30

    7. 偷用Swiper简改

    实验性项目无法发布到市场,决定整改 项目改名为RNDouBan,决定做一个用react-native写的简单豆瓣客户端 测试版发布到google市场以获取豆瓣sdk做第三方豆瓣登录才好往下做...Google市场需访问外国网站 修改bug以及以前代码留下的坑 简单修改react-native-swiper以实现滑动切屏 先上效果图(代码地址) 宣传图.jpg...google市场要的宣传图 由于react-native-router-flux封装了NavBav,但是不太喜欢,主要是给导航栏添加右侧功能健不太亲民,所有自己封装了一个精简版...loc=108288&day_type=weekend&type=party react-native-swiper地址不是特别的好用但是目前我没发现更加实用的,这个组件本来是用来做轮播图的,看了一下源码...bug,我这里只是简单处理,具体可以依照自己的实际数据结构以及state的设计。

    2K30

    iOS--React Native浏览器插件(内附Demo)

    一:介绍 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持...在React Native移动平台项目开发中,除了React Native 提供的封装好的部分插件和原声组建外,在实际的项目中还需要使用到很多其他的插件,比如网络请求、数据库、相机、相册、通讯录、视频播放器...Webview类,实现RCTBridgeModule协议 添加RCT_EXPORT_MODULE()宏 添加React Native跟控制器 声明被JavaScript 调用的方法 URL规范检测 根据传参打开浏览器...声明被JavaScript 调用的方法 React Native需要明确的声明要给 JavaScript 导出的方法,否则 React Native 不会导出任何方法。...,传过来的url字段还不能直接使用,需要检测是否符合url规范,否则是不能正常打开网页的。

    1.3K20

    关于移动互联网的跨平台技术演进

    通信分为以下两个维度: JavaScript 调用 Native,有两种方式: 拦截URL Scheme:URL Scheme是一种类似于url的链接(boohee://goods/876898)...,当web前端发送URL Scheme请求之后,Native 拦截到请求并根据URL Scheme进行相关操作。...App打开H5过程 打开H5分为4个阶段: 交互无反馈 打开页面 白屏 请求API,处于loading状态 出现数据,正常展现 这四步,对应的过程如上图所以,我们可以针对性的做性能优化。...库 不能灵活操作 DOM,无法实现较为复杂的效果 页面大小、打开页面数量都受到限制 既然WebView性能不佳,那有没有更好的方案呢?...下面我们看看React Native。 React Native RN的理念是在不同平台上编写基于React的代码,实现Learn once, write anywhere。

    1.8K30

    教你轻松修改React Native端口

    这一切都是React Native帮开发者配置好的,一切都是那么简便,但如果出现如下几种情况,那么你需要认真阅读本文了: 8081端口被其他程序占用(比如杀毒软件),导致React Native无法正常启动...第二步:修改iOS项目的端口号 在修改了React Native 服务的端口号之后,我们要需改iOS项目的端口号让它从新端口获取jsbundle,否则的话会出现No bundle URL present...提示:如果你的React Native项目没有iOS模块可以忽略此步骤; 通过XCode打开React Native项目中的iOS项目; 修改以下文件的端口号: RCTWebSocketExecutor.m...第三步:修改Android项目的端口号 在修改了React Native 服务的端口号之后,我们要需改Android项目的端口号让它从新端口获取jsbundle,否则的话会出现No bundle URL...提示:如果你的React Native项目没有Android模块可以忽略此步骤; 打开调试工具(Dev Settings),可以通过(command+M) 完成; 点击 Debug server host

    3.1K40

    搞定混合开发面试,这一篇就够了!

    其实JSBridge说白了就是去除了各大混合开发平台封装的一条龙的服务,而只保留了web和Native的通信部分,去在app的webview中嵌入web,来解决原生端解决不了的问题,比如:原生无法解析富文本...还是解决不了一个app需要多端协作,多端通信从而导致开发难度增加的问题,于是React Native横空出世 React Native React Native (简称RN)是Facebook于2015...调用Native还有一种拦截URL SCHEME方案 url scheme是一种类似于url的链接,是为了方便app直接互相调用设计的。...具体来讲如果是系统的url scheme,则打开系统应用,否则找看是否有app注册这种scheme,打开对应app,主要区别是 protocol 和 host 一般是自定义的。...Web 端通过某种方式发送scheme请求,Native用某种方法捕获对应的url触发事件,然后拿到当前的触发url,根据定义好的协议,分析当前触发了那种方法。

    2.7K20

    小记React Native与原生通信(iOS端)

    此时,单纯通过导航跳转就无法解决该问题了。 在初始化RCTRootView之时,通过initWithBridge:(RCTBridge *)bridge方法将要展示的页面路径通过属性传递给RN。...H5页显示一条消息提醒用户有待办事项,而用户点击进行处理的操作是需要跳转到RN页面的。如果按照前文中带参跳转也只能跳转到RN栈的第一个页面。因此需要使用到deep-link方案。...深度链接是一项可以让一个App通过一个URL地址打开,之后导航至特定页面或者资源,或者展示特定UI的技术 传送门?...中,设置info->URL Type为mychat 二、打包 1) 导出js bundle包和图片资源 终端进入RN项目的根目录下创建文件夹,此处名为release_ios react-native...: 在设备上运行 iOS 真机 No bundle URL present 我的iOS项目是从别处拷贝过来,而ip.txt文件是在没有设置SKIP_BUNDLING的情况下初次构建的时候创建的。

    6.4K10

    WebView性能、体验分析与优化

    怎么优化 由于这段过程发生在native的代码中,单纯靠前端代码是无法优化的;大部分的方案都是前端和客户端协作完成,以下是几个业界采用过的方案。...DNS connection 服务器处理 分析 以下为美团中活动页面的链接时间统计: 统计: 美团的活动页面 内容值: n%分位值(ms) DNS connection 获取首字节 50% 1.3...WebView性能优化总结 一个加载网页的过程中,native、网络、后端处理、CPU都会参与,各自都有必要的工作和依赖关系;让他们相互并行处理而不是相互阻塞才可以让网页加载更快: WebView初始化慢...客户端内打开第三方WebView 一般来说,客户端内的WebView都是可以通过客户端的某个schema打开的,而要打开页面的URL很多都并不写在客户端内,而是可以由URL中的参数传递过去的。...那么,一旦此URL可以通过外界输入自定义,那么就有可能在客户端内部打开一个外部的网页。 例:作案过程 某个App有个WebView,打开的schema为 appxx://web?

    5.1K141

    扩大Android攻击面:React Native Android应用程序分析

    React Native是一款移动端应用程序框架,由于该框架允许开发人员使用React和原生平台功能,目前有很多Android和iOS应用程序都是基于该框架进行开发的。...那么在处理React Native应用程序时,如果应用程序拥有原生代码的话,就非常方便了,但是在大多数情况下,应用程序的核心逻辑都是用React JavaScript实现的,而这部分代码可以在无需dex2jar...请注意:dex2jar的工作原理是将Java字节码转换为Dalvik字节码。因此,我们无法保证所有的输出都是有效的,此时就需要使用Smali工具来分析Dalvik字节码了。...从React Native APK获取JavaSript 在这个例子中,我们将从下面这个React Native应用程序中提取出JavaScript代码: com.react_native_examples...接下来,打开开发者工具栏,点击“Source”标签,你就可以查看到映射出的JavaScript文件了: 敏感凭证与节点 React Native应用程序的其中一种模式是它需要使用一种第三方数据库,例如Firebase

    9.9K30

    React Native 集成分享第三方登录功能分享第三方登录模块开发(iOS)

    截止目前,但各大平台与集成服务的提供方都只提供了Native版本的SDK,没有对React Native做支持,为此要在React Native应用中添加分享与第三方登录我们需要开发出能供React Native...第三步:构建分享及登录模块 为了能够在React Native中使用umeng分享及登录,我们需要为刚才导出的sdk创建一个Native 模块然后通过桥接的方式供js部分进行调用,关于如何开发React...:(RCTResponseSenderBlock*)successCallback errorCallback:(RCTResponseSenderBlock*)errorCallback ) 负责调打开分享面板以及分享回调的处理...提示:因为我们需要打开分享面板,这属于UI操作,所以我们要在主线程中进行处理,否则会发生卡顿的现象,将方法切换到主线程中执行,我们可以添加如下代码: RCT_EXPORT_MODULE(); -...另外也可以关注我的新浪微博,或者关注我的Github来获取更多有关React Native开发的技术干货。 参考:React Native开发视频教程

    2.2K100

    干货|携程Web组件在跨端场景的实践

    一、背景 我们在开发 H5 营销活动后,通常会将营销活动的入口投放到多端,包括 App、小程序。常见的投放形式有:Native 原生页面、React Native 页面和小程序页面的内嵌弹窗。...那么此时,就需要 Native、RN、小程序端的人力投入。由此,整个流程从仅需 H5 开发演变成需要多端开发、沟通,从 H5 营销活动灵活上线演变成受制于 App 和小程序的版本发布。...因此,需要把这种场景处理得更细致些。 处理思路如下: a. Native 加载一个 WebView 容器,此时 WebView 不显示 b....四、对Web组件的支持 在了解了“一套 Web 代码,多端共享”的正确打开方式之后,再来看下各端对 Web 组件需要做怎样的支持。...} from 'react-native'; import { WebViewModal } from 'react-native-webview'; export default class Demo

    30720

    React Native 网络层分析

    文:志俊(沪江Web前端) 本文原创,转载请注明作者及出处 在使用React Native开发中,我们熟练的采用JavaScript的方式发送请求的方式发送一个请求到服务端,但是处理这个请求的过程其实和处理...在处理React Native的请求时,分为两部分:一部分是JavaScript的运行环境,另一部分是嵌入JavaScript的Native(即原生Android和IOS)运行环境。...但是React Native的运行环境和Web应用的运行环境不一样,所以需要在原生应用层采用自定义函数来拓展运行时(runtime)环境来处理JavaScript发出的网络请求。...例如,你从服务器下载一张图片(注意:不是通过url从服务器获取),请求通过JavaScript线程,再通过React Native提供的桥接器,最后通过原生系统的网络模块发送到服务端。...总结 React Native开发方式是非常不错的体验,但是,受各个平台差异和标准的限制,不得不折中处理一些问题。随之而来的是相应的性能、效率的问题。

    2.3K90
    领券