从 React 的角度看 Android 的 Jetpack Compose

2023-07-21
阅读 8 分钟
957
最近为了开发一个小项目,学习了Jetpack Compose,API 设计的很不错。Jetpack Compose的API 非常丰富,正好我的 React 的知识可以发挥作用。也许这就是 React Native 开发者可以代替 Android 原生开发者的原因。

[译] 一文带你学会全部Flutter的Provider

2022-06-08
阅读 21 分钟
2.6k
原文在这里。虽然官方Flutter站点(状态管理入门app)说Provider“非常容易理解”,我(作者)可不这么认为。我想是因为Provider的种类有点多:ProviderListenableProviderChangeNotifierProviderValueListenableProviderStreamProviderFutureProviderMultiProviderProxyProviderChangeNotifierProxyProvider更多我只想用最...

前端的Clean Architecture

2022-01-08
阅读 18 分钟
2.4k
首先,我们要大概的介绍一下什么是clean architecture,然后熟悉一下domain,用例和分层的概念。然后我们来讨论一下这些怎么用在前端,和是否有这个必要。

React Native填坑之旅--GraphQL

2021-11-10
阅读 9 分钟
3.3k
如果你的项目稍有规模,那么你一定经受过一种折磨。一个很久之前的API返回了巨多务必的数据,是可以完全服务现在的需求。但是明显不必要的数据数据过多会造成后端的性能问题。在前端占了带宽。后期的维护对于前后端都是可能产生棘手的问题。之所以FB要提出GraphQL的标准也是因为FB本身支持的产品太多遇到了这样的问题。

TypeScript -- 如何处理第三方库的类型

2021-11-01
阅读 2 分钟
8.1k
我们使用开发TypeScript项目的时候或多或少都要用到第三方库。一般常用的第三方库都有对应的类型文件,或者可以添加类型包。但是如果这个第三方库没有对应的类型文件可以用就会稍有麻烦。今天就来探讨一下这些都是怎么处理的。

React Native填坑之旅--使用Redux处理异步

2021-10-28
阅读 5 分钟
4.6k
React hooks出来之后又打开了一道前端造轮子的大门。各种Hooks的工具满天飞。react-redux也跟上了这波潮流。项目代码在这里useSelector,useDispatch首先,也是最重要的一点。如果你不知道要不要用redux,那么最好不要用。redux主要解决的问题是统一来源的状态管理。全局state存放在store里。store.getState()可以获得st...

React Native填坑之旅--多平台支持之Web

2021-10-28
阅读 4 分钟
2.1k
如果你使用react native开发了app,会不会想有一个站点呢。如果你想,那么react-native-web就有用武之地了。只要不是平台相关的组件基本都可以复用,包括js样式。更不用说内置的accessibility。

React Native填坑之旅 -- What's next

2021-10-27
阅读 1 分钟
1.4k
记录一下后面要写的:Redux hooksGesture responder systemNew navigationWebBrief instroduction of desktop devGraphQL & ApolloPermission

(研究中)React Native填坑之旅--TurboModule之iOS

2021-10-16
阅读 6 分钟
4.3k
iOS啥都不用干,只要这样: {代码...} 然后再实现一个RCTTurboModule的protocol。可以参考iOS的CoreModules里面的实现。参考官方repo。[链接] {代码...}

React Native填坑之旅--开启TurboModule(Android)

2021-10-16
阅读 3 分钟
4.4k
FB宣传了N多年的新架构估计很多人都熟知了。最主要的改进就是从所有通讯都通过异步Bridge的方式转为直接通讯的方式。减少消息通讯延迟,提高性能。这其中最关键的就是TurboModule。

React Native填坑之旅--使用原生视图Android

2021-10-07
阅读 4 分钟
3.1k
使用原生试图,在RN里是必不可少的一部分。如果有人在原生功能都做好了,直接拿来用或者微调一下试图部分就可以用也就不需要再另外造一个,一套轮子了。

React Native填坑之旅 -- 从Native发事件给JS

2021-10-04
阅读 5 分钟
4.8k
很多时候我们需要从原生发送事件给JS。比如在官方文档提到的一个日历📅事件。你定好了一个会议,或者一个活动,之后再指定的日期发生。或者关闭了贡献单车,蓝牙收到关锁成功的信号。又或者地理围栏这样的APP,在你进入/离开一个地理围栏的时候,都需要从原生发送事件给JS。

前端刷力扣 - 189. 旋转数组[中等]

2021-09-14
阅读 1 分钟
2k
刷题小白遇到这一题:发现一个有趣,但是不是最好的方法。因为这个方法的效率一般:但是思路很有意思如:nums = [1,2,3,4,5,6,7]k = 3可以这么操作。把数组整个反转,为: [7,6,5,4,3,2,1]从0到k-1反转,为:[5,6,7,4,3,2,1]从k到最后反转,为:[5,6,7,1,2,3,4]代码如下 {代码...} 题目题目在这里[链接]有兴趣的同学可以...

JavaScript的CJS、AMD、UMD、ESM都是啥

2021-07-03
阅读 2 分钟
18.6k
在最开始JavaScript没有import / export模块这些机制。所有的代码都在一个文件里,这简直就是灾难。之后就出现了一些机制改变只有一个文件的问题。于是就出现了CJS、AMD、UMD和ESM。这篇小文就是让大家了解这些都是什么。CJSCJS全称CommonJS。看起来是这样的: {代码...} CJS经常在node开发中出现。CJS使用同步方式引入...

为什么TypeScript的Enum很有问题

2021-06-20
阅读 4 分钟
13.3k
TypeScript引入了很多静态编译语言的特性,比如class(现在是JavaScript的一部分了),interface, generics和union types等。

函数缓存

2021-06-13
阅读 7 分钟
1.9k
为了讲明白这个概念,假设你在开发一个天气app。开始你不知道怎么做,正好有一个npm包里有一个getChanceOfRain的方法可以调用:

Flutter - 实战指导,使用ScopedModel管理状态

2020-06-13
阅读 13 分钟
3.3k
ScopedModel已经过度到了Provider的模式了。不用深入本文,就可以看到ScopedMode里的VM这一层都是通过调用notifyListeners方法来通知界面更新的,ScopedModel和ScopedModelDescendant也和Provider模式下的Consumer相差无几,底层也许有区别不过本质都是一个组件。而且也是用在需要更新的组件子树上一层来保证更新范围最...

Flutter - BLoC模式入门

2020-06-08
阅读 19 分钟
11.6k
这里提一点关于IDE的问题,很多人是移动转过来的,所以用Android Studio的人很多。其实Flutter也可以用VS Code来开发。笔者,两个都用过,他们各有好处。Android Studio在项目初期,目录、文件处理多的时候方便。重构的时候关于文件的修改,都会在其他文件引用里一起修改,删除也会有提示。在VS Code里这些没有,改文件...

Flutter - 掌握ListView

2020-06-03
阅读 14 分钟
6.4k
如果你了解Android或者iOS的开发,你会喜欢Flutter ListView的简洁。本文中,我们就是用几个简单的例子来实现一些很常用的情景。

Flutter - Key内部原理浅析

2020-05-24
阅读 9 分钟
3.3k
基本上每个widget都有key参数,但是使用的方法确各有不同。在widget从widget树的一个地方移动到另一个地方的时候,key会保存状态。在实际使用中,Key可以用来保存用户滚动的位置或者保存集合修改的状态。

深入Flutter

2020-05-17
阅读 9 分钟
5.9k
本文主要说了Flutter内部使用了怎样的算法和优化让Flutter如此强大。某些内容对比了Flutter和其他开发工具一致性算法的优劣,不过个人感觉还是太过简短,后面我会花更多的时间来研究这方面的内容,后续补上。最后还讲述了Flutter在API设计上是如何达到开发者的预期的。由于译者水平有限,疏漏之处还请见谅。我没有全部翻...

Flutter - Dart的Mixin

2020-05-07
阅读 3 分钟
2.3k
这里补充一下Mixin的定义:只要一个类是继承自Object的而且没有定义构造方法,那么这个类可以是一个Mixin了。当然,如果你想让mixin的定义更加的清晰,可以使用mixin关键字开头来定义。具体请参考这里

Flutter - Dart的interface

2020-05-06
阅读 3 分钟
6.5k
在这里看原文。 看这些教程的时候最好是打开dartpad。直接在里面把这些代码输入进去看结果。这是dart官方提供的一个练习dart的地方。边看边练事半功倍。 正文 接口(interface)定义了每个实现这个接口的类都需要遵守的“规则”。 当一个类实现(implements)一个接口的手,它必须override接口里的每一个方法和实例变量。 ...

Flutter - 什么是Widget,RenderObject和Element

2020-05-04
阅读 3 分钟
6.7k
想要成为一个更好的开发,了解底层的实现技术几乎是必不可少的。你可以更容易的创建自定义的布局和特效,如果你学习了这些底层技术是如何工作的。也可以让少在电脑前加几个晚上的班。

Flutter:解析JSON

2020-04-16
阅读 10 分钟
3.9k
如果一个App界面上什么都没有的话,那么绝对够无聊的。但是你的app从哪里可以获得有趣的内容呢?必须是网络了。你的,你公司的后端或者是网络上的公开API!

[译]Flutter - 使用Provider实现状态管理

2020-04-04
阅读 13 分钟
14.9k
这篇文章好的的地方在于它不仅讲了Flutter Provider如何管理State的,还讲述了一个Flutter App可以采用哪一种架构。这种架构是基于clean architecture和FilledStacks这两种架构原则的(这里可能理解或者表达有误,请指正)。但是文中最后采用的还是MVVM的模式。

[译]Flutter是如何绘制文本的

2020-04-01
阅读 12 分钟
5k
这不是一次愉悦的旅行,但是我会带你领略Flutter文本绘制里从未有过的精彩。第一眼看起来非常的简单。只不过是几个字符,对不?但是越往深挖越有难度。

使用Web Worker改善性能

2019-10-25
阅读 9 分钟
5.5k
在 Web Worker 之前,解析 CSS,生成布局,绘制界面以及运行 javascript 脚本都运行在浏览器的一个线程里。如果一个 Web App 运行的 js 脚本一次运行时间过长,就会出现界面卡顿。这样的用户体验是没法用及格来评价的。

How to upgrade to the latest RN

2019-03-10
阅读 2 分钟
1.3k
I think the best way to do this is to create a new RN project that has the same name as your existing project.

什么是 decorator,什么时候用 decorator

2018-06-30
阅读 5 分钟
2.8k
在学习 ES2015+的时候,转码已经非常的普遍。很多人都已经在实践中使用过了新的语言特性,或者至少是在教程里学习过。这些新特性之中经常让人挠头的莫属 decorator(装饰器,后文也不会翻译)了。