wlfcss

wlfcss

RN-Android发行包精简初探

RN-Android发行包精简初探

众所周知,随着迭代版本的增加,缩减 React-Native 的 Android 发行包的大小将成为开发人员需要面对的问题之一,究竟如何来做既可以避免引发未知的BUG,又可以有效缩小安装包大小?接下来,我将其分为两个角度分别叙述: 1. 在应用开发的前期我们能做什么? 2. 木已成舟,面对已经臃肿不堪的发行包如何补救? 在应用开发的前期我们能做什么 1. 缩减图片的使用 & 使用webp 避免在纯色以及渐变的UI部分使用图片,不仅可以缩小安装包体积,还将获得极快的渲染速度,也不用考虑适配问题。 考虑是否使用 webp 格式的资源图片取代 png 图片,当然这仅适用于有大量图片存在的移动端应用程序,同时在服务端开发的过程中也需要进行针对性的优化(例:用户上传后的图片亦需要服务端转码为 webp 格式,缩减请求的资源大小,将有效提升程序的整体响应速度)。但由于 iOS 系统对于 webp 的支持不佳,需要引入第三方包支持。这也造成 iOS 原有的@2x @3x按照设备加载对应图片的机制失效,将影响图片加载效率。 webp
8 min read
Rocket.Chat 部署指南
原创

Rocket.Chat 部署指南

Rocket.Chat 是一种类似 Slack 的开源聊天软件,可以私有部署是他最棒的特性了,同时这几年随着 rocket.chat 客户端的持续维护更新,可用性已经非常不错,值得一试~ 目标 * 于 Ubuntu 18.04 LTS 上安装 Rocket.Chat * 使用 Nginx 作为反向代理 * 配置 SSL 证书。 准备环境 你需要有以下环境: * 一台 Ubuntu 的服务器 * 一个域名(二级域名即可~) 如果有域名在你的网站域名商处添加一条 DNS 的 A 记录指向服务器。 安装 Rocket.Chat 开始前我们先更新下操作系统 //更新包管理工具 sudo apt update //upgrade命令谨慎使用~ sudo apt
4 min read
i18n在rn中的实现范例
react-native Featured

i18n在rn中的实现范例

初始化 * 略 允许用户手动设置App语言 如果允许用户设置App语言,那么我们需要持久化一个全局状态来保存用户选择的语言。这里我们使用redux和redux-persist插件来完成。 * 第一步,定义一个action type,在src/redux/action.js文件中: /* * 本文件用于定义action常量,所有常量声明及对应值必须大写 */ const USER_SET_LANGUAGE = 'USER_SET_LANGUAGE'; // 用户手动设置语言 export { USER_SET_LANGUAGE }; * 第二步,定义一个actionCreator函数,构造action对象,在src/redux/actionCreators.js文件中: /* * 本文件用于定义创建action对象的函数 * 在创建action对象时,必须包含action类型,以及action改变全局状态的最小数据集(payload) */ import * as actionType from './actions'; // languageCode
6 min read
[BUG] RN低版本(<0.60.0)与新版xcode兼容性bug
react-native

[BUG] RN低版本(<0.60.0)与新版xcode兼容性bug

* 公司内部项目 XXX 需要进行二次开发,此时开发机环境如下: * xcode:Version 11.5 * cocopods:1.9.1 * 项目情况如下: { "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start", "test": "jest", "postinstall": "sed -i '' 's/#import /#import \"RCTValueAnimatedNode.h\"/' ./node_modules/react-native/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.
3 min read
湘ICP备18004308号-1 湘ICP备18004308号-2