初识SWR

发表于 | 分类于 前端/前端业务

几年前就了解到在React中通过SWR来发送网络请求,但一直没有机会实践(一直在写Vue的项目)。最近在处理用户体验相关的问题,关于网络请求这堆东西有太多可以说的了,想起了SWR,于是决定整理一下。

开发npm包的一些注意事项

发表于 | 分类于 编程语言/JavaScript

在前端开发中,经常会npm install社区的包,有时候也会想要自己编写一些包,提供给别人使用。

本文整理了开发npm包的一些注意事项,包括环境搭建、构建目标、调试、构建和发布等流程的一些心得。

初识ChatGPT

发表于 | 分类于 杂项

AIGC这么火热,了解一下?本文主要通过ChatGPT整理了人工智能和GPT相关的很多概念,看完之后,应该能瞥见人工智能的冰山一角。

初识GraphQL

发表于 | 分类于 后端/数据库

GraphQL 是一种 API 查询语言,可以让客户端按需请求需要的数据,避免了 REST API 中的过度请求和响应数据的情况,虽然已经出现不少年份了,但一直没有去尝试使用过,最近有空学习了一下,稍作整理。

初识gsap动画库

发表于 | 分类于 前端/动画

在Vue文档的Transition章节发现了介绍的gsap动画库,可以实现高级动画效果,使用了一下发现体验很不错,于是记录一下。

vite项目中的常见问题

发表于 | 分类于 前端/前端工程

开始在个人项目中全量使用vite了,使用了一段时间,感觉开发体验确实很好。本文主要整理了vite项目中的一些常见问题及解决办法。

管理前端项目中的图标

发表于 | 分类于 前端/前端业务

前端项目中,图标管理是一个前期容易被忽略,但后期维护比较困难的一个地方,最后得到的结果就是项目中散落着各种各样的图标,也无法轻易移除。

本文决定讨论一下这个问题,在研究了各种前端图标方案后,决定试试逐渐流行起来的 svg 图标组件方案。

前端多主题实现及切换方案

发表于 | 分类于 前端/前端业务

随着操作系统支持暗色模式之后,多主题逐渐流行起来,恰好最近在产品内实现了兼容多套主题的方案,于是记录一下

Android打包相关概念

发表于 | 分类于 客户端/Android

由于只有半调子的客户端开发经验,导致遇见一些环境问题时都需要使用搜索大法挨个试,本文决定整理一下Android 打包过程中的一些概念和流程,方便后续定位问题。

前端体验优化之异步数据

发表于 | 分类于 前端/前端业务

在单页应用中,往往需要请求异步数据来渲染页面,开发者需要管理各种数据的加载、loading和异常处理,本文整理了这些场景下常见的问题,以及一些解决方案。

vite插件实现骨架屏自动化

发表于 | 分类于 前端/前端工程

骨架屏在SPA应用中有两个显著提升用户体验的作用

  • 避免页面初始化加载时的空白,体验介于SSR和完全等待页面初始化完成之间
  • 避免部分路由组件需要加载数据完成之后才渲染的空白

骨架屏会给用户一种内容已经返回的错觉,只要稍加等待就能看见完整内容了,因此骨架屏的定位就是真实内容准备好之前的替身。

之前研究过一种快速生成骨架屏的想法:使用Chrome扩展程序生成网页骨架屏,大概原理是通过Chrome扩展程序注入content.js修改页面DOM接口,最终导出带有骨架屏样式的HTML代码。

当时的这个想法并没有在生产中落地,最近在折腾用户体验相关的功能,发现还是有必要继续完善一下骨架屏相关的东西。

video标签常见问题整理

发表于 | 分类于 前端/前端业务

梳理笔记时发现了不少关于Video标签的问题,涉及到诸如自动播放、编码错误等问题,也包括背景虚化、视频外部字幕等业务场景,于是统一整理一下。

前端体验优化之图片加载闪烁

发表于 | 分类于 前端/前端业务

最近在学习一些前端优化用户体验的方案,想到了在业务中碰到的因为图片加载导致页面撑开闪烁的问题,经过一番研究之后找到了一些可行的方案,于是记录一下。

博客v0.8迭代记录

发表于 | 分类于 博客

一拖再拖,终于将博客升级到了v0.8.0,主要涉及到底层框架react-vue、服务接口vite ssr、项目管理pnpm monorepo和部署方式docker compose等方面的改动,感觉可以记录一下。

使用cocos实现Cramped-Room-Of-Death

发表于 | 分类于 游戏

最近发现了一个cocos宝藏教学 [CocosCreator游戏开发教学]Steam游戏《Cramped Room Of Death》复刻教程(已完结),学到了很多东西。本文主要记录一下相关的收获

自定义React中JSX的Element类型

发表于 | 分类于 前端/React

react-vue中,我定义了一种setup式的函数组件,这种组件返回的是一个render函数,因此在tsx中需要实现一种新的JSX.Element,否则会出现函数组件返回值类型冲突的问题。本文主要探究如何解决这个问题。

实现一个类React的Vue3框架

发表于 | 分类于 技术原理

上一次使用NeZha重构博客大概是三年以前了,最近打算迭代一下,于是想着写一个融合Vue3React风格的小玩具,名字也没想好(也许就叫做react-vue了)。本文主要记录一下相关的开发过程。

初识Java多线程编程

发表于 | 分类于 编程语言/Java

在前端开发工作中,基本上没有接触到多线程编程,最近在整理Android开发,感觉需要深入地学习一下多线程的知识,因此整理了一下Java中的多线程编程知识点。

flutter布局计算规则

发表于 | 分类于 客户端/Flutter

之前主要是负责Web开发的,在刚开始写Flutter的时候很容易把Container组件当成div标签来使用 ,以至于在碰到Container(width:100,height:100,color:Colors.red),代码并没有按预期展示宽高各100的元素时感到非常诧异。

后来查阅了相关文章之后,终于了解到:Flutter与Web浏览器的布局差异非常之大!本文主要整理Flutter渲染流程中的布局计算规则。

一个基于远程模块的低代码平台

发表于 | 分类于 前端/低代码

在之前关于低代码平台的思考这篇文章中,我提出了一种使用”动态渲染异步组件“来规避组件化低代码平台扩展性较差问题的思路,基于这个思路,又研究了在线预览Vue组件使用vite加载远程模块等问题的实现,最终实现了一个支持加载远程组件的低代码平台,非常有意思,本文主要记录相关的思路和实现原理。