flutter布局计算规则
之前主要是负责Web开发的,在刚开始写Flutter的时候很容易把Container组件当成div标签来使用 ,以至于在碰到Container(width:100,height:100,color:Colors.red),代码并没有按预期展示宽高各100的元素时感到非常诧异。
后来查阅了相关文章之后,终于了解到:Flutter与Web浏览器的布局差异非常之大!本文主要整理Flutter渲染流程中的布局计算规则。
一个基于远程模块的低代码平台
发表于 | 分类于 技术原理
在之前关于低代码平台的思考这篇文章中,我提出了一种使用”动态渲染异步组件“来规避组件化低代码平台扩展性较差问题的思路,基于这个思路,又研究了在线预览Vue组件和使用vite加载远程模块等问题的实现,最终实现了一个支持加载远程组件的低代码平台,非常有意思,本文主要记录相关的思路和实现原理。
Docker部署monorepo项目
最近在使用pnpm和monorepo搭建一个前后端项目,为了方便部署,决定统一走Docker环境,本文主要记录整个过程中遇到的一些问题。
在markdown中支持可交互组件
发表于 | 分类于 技术原理
编写markdown文档时,有时候希望直接展示一个可交互的组件,类似于ElementUI、Antd等主流的组件库的文档交互。由于vite已经逐渐取代webpack称为组件库开发的流行方式,本文将研究一种使用vite插件实现在markdown中实现可交互组件的思路。
富文本编辑器Quill源码分析
发表于 | 分类于 源码分析
最近在产品中遇到了定制富文本编辑器的场景,发现quill比较符合业务需求。在后续的开发中发现quill的使用体验和扩展性都比较好,源码也比较简洁,因此决定看一下quill的源码。
Tree-Shaking原理
JavaScript文件的大小是前端性能优化中非常重要的一部分。
Tree Shaking是一个用于优化JavaScript 代码体积的技术,主要通过在构建过程中移除未使用的代码,从而减小最终打包文件的大小,提高网页加载速度和性能。
浅谈各种MVX架构
发表于 | 分类于 编程技术
在Android、iOS以及Web前后端开发中,总是会接触到MVC、MVP、MVVM等术语,虽然很早以前就查阅了相关的概念并牢记于心(面试专用),但对于其中的设计思想实际上并没有很好的理解。本文尝试记录自己关于各种MV*架构的一点思考。
关于TailwindCSS的一些思考
tailwindcss是一个工具类(原子类)优先的 CSS 框架,与bootstrap、bulma等组件类框架不同,tailwind 自身并没有提供可以直接使用的组件类如.btn-primary、.table,而是提供了诸如px-4、text-sm等原子类,由开发者通过组合的形式构建页面样式。
本文将先介绍样式类的编写变化,然后介绍 tailwind 的使用体验,以及关于现在是否能够将原子类用在生产项目中的一些思考。
游戏AI的一些概念
发表于 | 分类于 游戏
游戏AI是游戏开发中非常重要的一环,在很大程度上也决定了游戏性。
这里的AI并不是深度学习、强化学习等理论AI,而是游戏中非玩家控制的角色,在游戏运行时自动做出某些看起来比较智能的行为。
比如笔者比较喜欢的《孤胆枪手》这款游戏,游戏中形形色色的外星怪物,会源源不断地朝玩家涌来,试图攻击并杀死玩家,在玩家控制角色移动位置后,怪物也会自动调整行动路线并继续攻击。这些怪物就是比较典型的游戏智能体。
因此,本文主要研究游戏AI中涉及到的概念,以及一些基础功能的研究和实现。
使用vite加载远程模块
发表于 | 分类于 技术原理
在上一篇文章中提到了在线预览Vue组件,后面思考了一下,如果能在现有项目中加载远程模块,可以更方便地解决低代码编辑自定义组件的问题。本文沿着这个思路,尝试实现在vite中加载远程模块
初识SwiftUI
最近几年声明式UI的风在客户端也非常流行,Android有jetpack compose,iOS有Swift UI,本文决定尝试使用一下SwiftUI,看看开发体验如何,稍作记录
一种在线预览Vue组件的思路
发表于 | 分类于 技术原理
最近在研究一些低代码平台,设想了一种面向开发者的低代码编辑器,本文是印证这个想法的第一步,即在线预览单个组件文件。本文以Vue技术栈为例,尝试实现一个可以在线预览Vue组件的功能。
ENHow Low-Code Platforms Actually Work, and Where They Stop
发表于
Frontend low-code platforms have been getting steadily more attention. This post is my thinking on how they are implemented, where they fit, and what the design forces you to confront.
前端开发环境热更新实现原理
发表于 | 分类于 技术原理
热更新是现代前端开发环境中必不可少的一项,本文整理了一些打包工具parcel、webpack和vite热更新的使用机制,同时了解热更新的实现原理。
游戏开发中的长地图和摄像机
发表于 | 分类于 游戏
在一些横版游戏中,需要搭建超过一个屏幕的长地图,然后控制角色在整个地图中进行移动。本文主要讨论通过 tiled map 实现长地图场景,然后通过控制摄像机的方式访问整个地图。
使用cocos实现flappybird
发表于 | 分类于 游戏
打算梳理一下自己的游戏开发技能(虽然并没有什么技能),于是打算从易到难去实现一些比较完整的游戏案例。flappybird是一个比较精简的游戏,游戏玩法和规则都很简单,但是包含的内容比较丰富,能涉猎到不少知识点,因此用来入门是比较不错的。本文整理了使用 cocos creator 开发 flappy bird 的一些收获。
从dark-slash中学习游戏动画
发表于 | 分类于 游戏
最近在学习游戏开发中的动画效果(主要是技能效果),苦于找不到合适的资料,发现cocos官方提供了一个dark-slash暗黑斩的教学项目,这是一个比较完整的游戏项目,也包含了不少动画项目,很适合新手学习,本文主要整理了阅读该项目的一些收获。