WLFCSS-HEAVEN

WLFCSS-HEAVEN

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
关于 React Native 0.61 集成的 “Fast Refresh” 功能
react-native

关于 React Native 0.61 集成的 “Fast Refresh” 功能

React Native 0.61 版本已正式发布, 其中集成了一种名为 “Fast Refresh(快速刷新)” 的全新的实时重载功能。 > 译者注:由于个人水平有限,翻译可能有不准确的地方,望谅解。如果发现有翻译不准确的地方,可以留言或是于Github上提交:react-native-docsZh。 > 译者注:由于译者本身缺乏对于原有的 hot reloading 与 live reloading 原理的深入认识,导致部分内容翻译并不准确(斜体标注),如您知晓,请留言告知! Fast Refresh 在 React Native 社区中,众多开发者提交的常见痛点 [https://github.com/react-native-community/discussions-and-proposals/issues/64] 之一就是 “hot reloading(热重载)” 功能实用性极差,它无法兼容众多的功能组件,导致无法实时刷新,
4 min read
关于 Doctor, 一个全新的 React-Native 开发环境自检工具
react-native

关于 Doctor, 一个全新的 React-Native 开发环境自检工具

译者注:由于个人水平有限,翻译可能有不准确的地方,望谅解。如果发现有翻译不准确的地方,可以留言或是于Github上提交:react-native-docsZh。 注意:本文介绍的工具,作者本人仅在OSX系统下进行过测试! 在来自React-Native开源社区6位贡献者20余次提交后,我们将迎来一条全新的命令:react-native doctor,它将极大的帮助新手入门,自动寻找开发环境相关的故障并进行修复,该命令受到Expo 与 Homebrew 的 doctor 命令启发而诞生,同时我们也融合了 Jest 在命令行中使用的优秀 ui 范式。在此,向他们致敬! 工作流程如下方视频(观看或需VPN)所示: 命令如何工作 该 doctor 命令当前支持 React Native 依赖的大多数软件和库,如CocoaPods,Xcode 和 Android SDK。doctor 将自动查找开发环境存在的问题,并提供自动修复问题的选项。如果 doctor 无法自动解决问题,
2 min read
openvpn完全指南[原创](debian8.6)
openvpn Featured

openvpn完全指南[原创](debian8.6)

openvpn是什么? OpenVPN是一个功能齐全的SSL VPN,它使用行业标准的SSL/TLS协议实现了OSI模型第2层(数据链路层)或第3层(网络层)的安全网络扩展。OpenVPN支持基于证书、智能卡以及用户名/密码等多种形式的灵活的客户端认证方法,并可以通过应用于VPN虚拟接口的防火墙规则为指定用户或用户组设置访问控制策略。 openvpn 配置方案 * tap网络桥接 * udp通讯协议 * 版本 2.4.0-3 * 基于证书认证策略 openvpn服务器配置 注:以下操作部分需要root账户权限,如不是以root账户登录系统,请自行使用sudo提权。 * 修改并更新APT源 vim /etc/apt/sources.list 添加: deb http://ftp.debian.org/debian jessie-backports main 更新软件列表: apt-get update
11 min read
[0.56] React Native 中文更新日志

[0.56] React Native 中文更新日志

> 译者注:由于个人水平有限,另外翻译changelog需要阅读大量PR,翻译可能有不准确的地方,望谅解。如果发现有翻译不准确的地方,可以留言或是于Github上提交: react-native-docsZh [https://github.com/wlfcss/react-native-docsZh]。 欢迎阅读React Native的2018年6月的更新日志!自3月份以来,有超过60位贡献者提交了总计 816份 commits [https://github.com/facebook/react-native/compare/0.55-stable...0.56-stable] - 在此,向你们致以诚挚的敬意! 正如您刚刚看到的,0.56新版本有一些重要的 突破性变化 需要大量的额外测试才能达到稳定版本。这也是时隔数月(4月和5月)才发布的主要原因,但每月发布一个新版本的计划并不会因此改变。 要点 React Native 现在使用 Babel 7 升级到0.56时,请确保将您的
13 min read
TensorFlow-GPU 部署指南[原创]
TensorFlow Featured

TensorFlow-GPU 部署指南[原创]

关于TensorFlow TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。 部署环境 * 操作系统:Ubuntu 16.04 - x64 * Python: 3.5 * GPU: 1070Ti * 开发环境:PyCharm 2018.1.3 * CUDA® 工具包 9.0 * cuDNN v7.1.
7 min read
关于linux发行版
linux

关于linux发行版

> Windows 能干而 Linux 干不了,那就不需要干 在经过长达一个月的体验,我先后使用了15款Linux操作系统,用他们先后进行了日常使用、娱乐、工作编程(为了完整的体验,我并没有使用虚拟机,而是原生完整的安装),得到了如此之糟糕的结论,甚至一度让我怀疑自己是否对linux抱有偏见。 若不是开源原教旨主义者,或在工作上的无可奈何,我无法想象有任何的理由选择linux 但这个结论的意义并不大,我们依旧需要于绝望中寻找希望,将期望下调至最低后,我们可以完全站在开发者的角度,来谈谈当今世界上最优秀的linux发行版在图形界面下的体验: * 性能 :开发者常用的浏览器以及各种编译器IDE,往往需要占用大量的系统资源,如何在后台程序与系统响应速度之间获得良好的平衡?如何在易用性与系统响应之间获得平衡? * 易用:易用的首要问题是易安装,我不得不把 Arch 拿出来作为反面典型,虽然作为高性能的代表,但其糟糕的安装体验,逼迫初学者从零开始学习,这种或有意或恶意的提高门槛,更像是程序员的自我意淫。 * 外观:在外观与性能之间找到合适的平衡点,似乎在linux上变
6 min read
[0.55] React Native 中文更新日志
react-native Featured

[0.55] React Native 中文更新日志

译者注:由于个人水平有限,另外翻译changelog需要阅读大量PR,翻译可能有不准确的地方,望谅解。如果发现有翻译不准确的地方,可以留言或是于Github上提交:react-native-docsZh。 欢迎来到2018年3月的React Native发布!自二月份以来,超过81名社区开发者提交了247次提交。 新的亮点: * React Native现在已经全面改为MIT license (译者注:原来的许可为BSD+Patents license) * 已支持 Android TV 设备的开发 * 使用原生驱动的Animated tracking(动画跟踪) - 示例可查 silky smooth framerate * 众多的流程改进 * Bug修复 通用 增加的新特性 * 增加对原生驱动的Animated tracking(动画跟踪)的支持,现在你
7 min read
湘ICP备18004308号-1 湘ICP备18004308号-2