Press "Enter" to skip to content

刘建文 | Nakeman.cn Posts

Featured

CSS样式开发未来的三项技术——SASS、CSS-in-JS和TailwindCSS

现在(2022)的Web开发 在工具选择上 真是太多了,就「前端样式」[注] 一项任务就有很多技术供选择,本文说说CSS三项主流技术的特点和区别。

注:web开发 可分为 后端(RH开发的MVC),前端(V组件的 UI结构,样式和交互)多种任务

本文在此文(SASS vs CSS-in-JS vs TailwindCSS)基础之上改写而成,加入自己的见解。

Featured

Laravel 前端脚手架选择指南

开发企业应用(大规模应用),我们需要,也喜欢使用框架、工具库甚至是现成的脚手架(scaffolding)。因为「框架」给我们提供高效舒适的开发环境,「脚手架」则甚至提供即用的半成品,二者结合可以让我们迅速 进入 业务开发。

开发web应用 ,laravel 是 流行后端框架的一支,laravel官方除了是 高效的后端框架外,也提供很多 脚手架,这些脚手架不限于后端,也有全栈的,看这里(https://laravel.com/docs/9.x/starter-kits)。

  • 后端脚手架:fortify, sanctum
  • 前端(全栈)脚手架:ui, breeze, jetstream

此外,laravel 发展 推进了 前端技术的创新,还出现两种新技术:livewrie , inertia。

这样,在兼顾新技术拓展,和后向兼容,「laravel 前端脚手架」多样发展,让新手感觉眼花撩乱, 不知如何选择。

Featured

K.O.《算法导论》——寻找算法真正入门路径

算法 对编程专业 很重要大家都认可,但怎么个重要法?算法好难学,怎么入门?这些问题则是对大家来说更为有意义的一个问题。

很多人,和专家都推荐《算法导论》这本书,有点捧为经书的意味。我读了一下以后,我觉得,名不符实。叫导论实有误导的嫌疑,更不能算入门书。我个人认为此书有以下一特点(不足):

  • 第一,数学内容过多;
  • 第二,行文不友好,中文翻译生硬;
  • 第三,深入方向不对,也不浅出;
  • 第四,内容组织不合理,不符合由基础到应用的认知自然规律;

好书应该行文流畅,深入浅出,这两条此书都不合格。就深入浅出而言,浅出是绝没有的,深入的话,深入到哪里去?数学内容这么多,可是算法的核心是数学(数学证明)吗?这一本书由几位从事计算机科学教学研究的应用数学家编著的,不是算法专业(也没有这个专业)的专家,也不是教育家,阅读体验可想而知。(以上只是个人初步的分析,或许有偏颇)

React 和TypeScript 练习笔记(二)—— 复合状态值与两种组件模式

本系列为Lemoncode开源项目(其中之一)练习总结,原项目共有15个练习,经分析,主要可归结为五个练习:

  • 1 简单交互与CP模式
  • 2 复合状态值与两种组件模式
  • 3 表格数据与后端缓存
  • 4 路由与表单验证
  • 5 Context与会话状态

第二组练习由7、8、9 三个子练习组成,目的归结起来主要为了展示 复合交互状态(object),和两种复用组件模式(professional and children props)

React 和TypeScript 练习笔记(一)——简单交互与CP模式

本系列为Lemoncode开源项目(其中之一)练习总结,原项目共有15个练习,经我的分析,主要可归五个练习:

  • 1 简单交互与CP模式
  • 2 复合状态值与两种组件模式
  • 3 表格数据与后端缓存
  • 4 路由与表单验证
  • 5 Context与会话状态

第一个练习由前6 个子练习组成,目的归结起来主要为了展示 最经典的React 组件模式——CP模式。

2021年终回顾

最近几天都在考虑要不要写年终回顾,下意识还是要写,但真的很忙。

我不想写的一个理由是说,其实我回头看曾经写下各类阶段性学习总结,当时都是对自己的成长和进步有很高的评价,但是再经过一段时间后都有发现评估过高,评价带有主观性,和偏见。不过有一点值得安慰的是,基本上自引导的方向没有大错,所有观点没有原则性错误,只是不够全面,深入,和贴合实际。

年终总结还是要写,方式,内容待定。

React 实践自训笔记(一)

这两年一直在打 前端开发的专业基础,没有什么实践,主要以看代码为主,很少动手,现在开始补。这几天在github搜寻,还是找到一些不错的开源实践项目,逐个做一做,并整理成文,结为经验。

找到了几个(看下面),因为都是精心设计过的线下课程,它们的特点或优点是 主题内容较全面,练习题循序渐进,练习题描述清晰,且答案配套,非常适用自学用。

开始之前,先聊一聊有关 实践和理论的关系。

前端模块化开发实验(三)—— React 模块的Welcome world

光有 webpack 等bundling技术 是不够的,前面第一篇说了,构件表达,和构件复合方式 是推动 前端工程模块化的关键。因为即使你有打包不同web模块的机制,可是如果 模块本身的格式编写起来很费劲(看第二篇的Greeting V模块),可扩展性和可维护性差,那工程效率就很低,就谈不上成熟的工程模块化了。

前端模块化开发实验(二)—— 纯JS 模块的Welcome world

当我们往/src 目录创建新源文件,或拷入新资源数据(例如图片),它们都均属于某一种类型 「web模块」类型 的意义是说,它是有某种 固定格式,包括外部形式,和内部构成。例如 V模块类型一定会访问DOM的,样式模块一定有样式定义,并提供给V模块使用等等。本文我们正式开始写V模块。

上一篇我们 为前端模块化开发 做了最基础的工作,包括webpack基础配置(包括开发服务器),和index模块的创建,还创建了一测试的V模块app.js。

然而,这些基础配置是不完整的。第一,app.js没有被转译为更通用的 ES5代码;第二,没有配置支持开发CSS和资源模块。本文任务就是配置更完整的 webpack,并且开发更完整功能 Welcome world 作演示。

前端模块化开发实验(一)——模块概念以及webpack基础配置

现在web 应用前后端分离,前端独立成一个专业,并且还工程化了,这个事实对于 经历过早期Web1.0和2.0的开发者而言,刚接触时应该是比较新奇的。

应用软件网络化,web services 成为不可阻挡的 软件应用的风潮。作为一名技术开发者,一名经历过早期web开发的人,我最感兴趣是 前端工程化的概念——什么东西被工程组件化了。

配置开发环境(webpack)以支持开发React项目

(本文介绍手动配置前端开发环境——构建工具链的核心部分,通常这部分我们都是通过前端框架官方脚手架自动搭建的,例如React 的 create-react-app 和 Vue的 Vue CLI。如果你想了解这些脚手架为我们做了什么,本文对你有用。)

当我们手动为了一支现代的「Web 应用」 准备开发环境,这个过程对于新手来说,不是特别的简单,尤其是当前端使用了像React框架的情况,因为社区生态(ecosystem)存在错综复杂的关系。这需要一些 分析,学习,和记录具体过程。