• Stars
    star
    192
  • Rank 202,019 (Top 4 %)
  • Language
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

前端体系规划指南。Architecture of Frontend Development Efficiency

前端体系规划指南

欢迎在 issue 中留下你的相关建议。

原则:

  1. Reusable (包含可重用 UI 设计)
  2. Responsive(快速发布周期)
  3. Quality (质量控制)
  4. Cross-Platform 跨平台(响应式设计,混合应用)
  5. Communication(减少沟通成本,UX 和开发)

1. 设计

原型

原型,是指某种新技术在投入量产之前的所作的模型,用以检测产品质量,保障正常运行。

分类:

  • 验证原型 用于验证最初设计的一些关键功能,没有最终产品的所有功能。
  • 工作原型 最终产品所有的或几乎所有的功能。
  • 视觉原型 预期设计的尺寸和外观,而不是功能。
  • 形态原型 是初期的视觉原型,强调其中设计的几何特征,不是很重视颜色,纹理,或其他与最终外观相关的属性。
  • 使用者体验原型 在功能与外观上相当完整的原型,可以用于使用者研究。
  • 功能原型 完成设计上所要求的功能和外观,但可能是与最终设计使用不同的技术和不同的尺寸来创建。
  • 纸上原型 印刷的或手绘的软件产品之使用者界面。这些原型通常用于设计软件时,在早期的设计阶段时进行软件功能盘点,以便在投入更多耗费成本的设计之前,先确认设计决策是否正确。

相关工具:

  • Balsamiq Mockups
  • Axure
  • Sketch

相关文章:

设计系统(Design System)

设计系统

目的(Why):

设计系统是一组相互关联的设计模式与共同实践的,以连贯组织来达成数字产品的目的。模式是重复组合以创建界面的元素:用户流、交互、按钮、文本、图标,颜色、排版、微观等。实践则是选择创建,捕获,共享和使用这些模式的方法,特别是在团队中工作时。 —— Alla Kholmatova 《Design Systems》

如何做:

示例:

相关模式:

  • 原子设计,是一个设计方法论,由五种不同的阶段组合,它们协同工作,以创建一个有层次、计划性的方式来界面系统。

相关文章:

Design System Ops

Design System Ops,允许整个组织的人员设计、重新设计和改进产品,而不会失去质量,可用性和一致性。

相关文章:

可视化搭建前端

可视化搭建前端,是指通过推拽的方式,在线创建和生成前端界面。

示例:

  • 飞冰 是一套综合解决方案,用来极速构建中后台应用。

相关文章:

架构

普通相关资源:

微前端相关资源:

相关文章:

2. 创建

脚手架/生成器

脚手架。作为一个基础的模块应用,用于快速生成、搭建前端应用。它除了包含一个前端项目所需要的要素,往往还包含着组织内部相关的规范和模式,如部署模板、构建系统等。

类型:

  • GUI 脚手架。
  • CLI 脚手架。

生成器,可以根据一系列的配置参数,以实现更强的定制化作用。它是一种更高级的脚手架的方式来创建应用。

相关文章:

快速工作平台

Why:搭建环境不是一件容易的事。

How:通过 CLI 生成。

3. 开发

代码模式库

模式库,是一系列可复用代码的合集,如前端的组件,通用的工具函数等等。其目的是在多个应用之间共享代码,以降低修改成本。在设计架构的时候,要是考虑内建相应的 UI 组件库,便需要考虑结合装饰器模式,作为一层代理,来封装外部的 API,以降低后期的修改成本。它还包含了用于多个前端应用通讯的数据通讯库。

相关资源:Vanilla.js Boilerplates

相关文章:

Mock Server

Why:

Mock Server(仿造服务器),即用于仿造后端接口的模拟 HTTP 服务器。它是一个简单的 HTTP 服务,在后端未准备好的情况下,它可以为前端提供一个可用的 API 服务。

模式:

  • 普通 Mock Server。在 API 配置文件中定义了什么,便返回什么内容。
  • DSL 形式的 Mock Server。它是以普通的 Mock Server 有所不同,其中的配置文件(通常是 JSON)是通过特定格式编写的,返回的数据只是 API 配置的一部分。
  • 编程型 Mock Server。它需要我们编写简单的代码,才能返回对应的 API 数据。它的优点是灵活性更高,但是缺点便是维护成本更高。
  • 契约测试,又称之为消费者驱动的契约测试(Consumer-Driven Contracts,简称 CDC),是指从消费者业务实现的角度出发,驱动出契约,再基于契约,对提供者验证的一种测试方式。

相关资源:

编辑器/IDE 插件

编辑器/IDE 插件,用于在 IDE/编辑器插件中,集成文档、常用代码等相关内容。

Intellij IDEA 相关资源:

VisualCode Studio 相关资源:

浏览器插件

相关插件类型:

  • Developer Tools.
  • API 验证。诸如 Postman

调试 Debug 工具

代理调试:不管是在开发过程中,还是实际的线上 Debug 中,都需要查看、修改 HTTP/HTTPS、WebSocket 的请求、响应,同时也需要 HTTP/HTTPS 代理服务,把实际的域名,代理到本地测试服务器用于调试。

相关工具:

移动端调试:在 APP 中或者在移动浏览器调试网页,没有类似 Chrome Developer Tools 的调试工具,无法方便的查看请求,打印到 Console 等常规调试方法。

相关工具:

性能分析与优化

检查清单:

要点:

  • TTFB (Time to first byte)时间

相关工具:

  • Chrome Lighthouse/Audits (Chrome Developer Tools 的 Audits 标签里)

常规优化:

企业级相关文章:

构建时优化:

4. 联调

统一 API 接口

Why: 后端设计的接口,并不一定适用于前端使用。这便要求前端对后端有一定的了解,以协助后端设计出适合前端使用的 API。

相关资源:

自动化契约测试

Why: 在实施前后端分离架构的过程中,最让人苦恼的莫过于:API 发生了变化。API 发生变化的原因那可是相当的丰富:业务变化、字段名出错、第三方接口不匹配等等。

契约测试,又称之为消费者驱动的契约测试(Consumer-Driven Contracts,简称CDC),根据消费者驱动契约,我们可以将服务分为消费者端和生产者端,而消费者驱动的契约测试的核心思想在于:从消费者业务实现的角度出发,由消费者自己会定义需要的数据格式以及交互细节,并驱动生成一份契约文件。然后生产者根据契约文件来实现自己的逻辑,并在持续集成环境中持续验证。

相关资源:

5. 测试

前端测试金字塔

前端测试

相关资源:

性能测试

相关文章:

可视化回归测试

可视化回归测试工具,通过捕获网页 /UI的屏幕截图,并将其与原始图像(历史基线屏幕截图或来自实时网站的参考图像)进行比较,来执行前端或用户界面(UI)回归测试。

相关 Awesome 资源:Awesome Visual Regression Testing

相关工具:

  • snapshot testing

6. 运营

应用性能监测

APM (Application Performance Management,即应用性能管理,在分布式领域也称为分布式跟踪管理)对企业的应用系统进行实时监控,它是用于实现对应用程序性能管理和故障管理的系统化的解决方案。

相关资源:

相关文章:

错误日志跟踪

有很多种情况会导致Javascript抛出异常,包括网络失效、语法错误、运行时错误等。我们希望在页面上有异常发生时,能够获得脚本错误的基本信息、文件url、行号 。

How:

相关文章:

相关资源:

  • BetterJS 是一个 Web 前端脚本错误监控及跟踪解决方案。该项目为鹅厂 imweb 团队的开源项目。
  • badjs2 是一个前端脚本错误监控及跟踪解决方案。
  • Sentry

7. 维护?(待定)

架构迁移

相关文章:

重写

其它

相关文章

效能

度量

相关资源

AlloyTeam

来源:https://github.com/Pines-Cheng/think/issues/32

AlloyTeam 内部都有对应的解决方案:

  • Steamer 命令行工具及脚手架
  • AlloyStore 组件展示平台
  • LinkStar 假数据联调平台
  • JB 测试部署平台
  • Ars 发布上线平台
  • AlloyData 数据上报平台
  • Sentry 错误监控平台
  • AlloyKit 离线包发布平台
  • XuanWu 直出平台

Frontend Case Stuies

** https://github.com/andrew--r/frontend-case-studies 这个项目介绍了真实世界的企业前端架构,包含了一系列的相关案例。

***** 卫报 前端文档 该项目不仅包含了卫报的前端代码,以及相关的详细设计文档。

License

Phodal's Idea

© 2019 A Phodal Huang's Idea. This code is distributed under the MIT license. See LICENSE in this directory.

More Repositories

1

github

GitHub 漫游指南- a Chinese ebook on how to build a good project on Github. Explore the users' behavior. Find some thing interest.
Rich Text Format
9,132
star
2

growth-ebook

Growth Engineering: The Definitive Guide。全栈增长工程师指南
HTML
7,688
star
3

awesome-iot

Awesome IoT. A collaborative list of great resources about IoT Framework, Library, OS, Platform
Python
4,042
star
4

ideabook

一个全栈增长工程师的练手项目集. A Growth Engineering Idea in Action.
HTML
3,729
star
5

migration

《系统重构与迁移指南》手把手教你分析、评估现有系统、制定重构策略、探索可行重构方案、搭建测试防护网、进行系统架构重构、服务架构重构、模块重构、代码重构、数据库重构、重构后的架构守护
Java
3,232
star
6

microfrontends

Micro-frontend Architecture in Action-微前端的那些事儿
3,012
star
7

prompt-patterns

Prompt 编写模式:如何将思维框架赋予机器,以设计模式的形式来思考 prompt
2,810
star
8

growth-in-action

全栈增长工程师实战
HTML
2,492
star
9

designiot

教你设计物联网系统。构建自己的Internet of Things 。
HTML
2,192
star
10

growth-ionic

[v2.0 DEPRECATED, please update to Growth 3.0] Growth - App to help you Be Awesome Developer & Awesome Hacker
TypeScript
2,158
star
11

ledge

Ledge —— DevOps knowledge learning platform. DevOps、研发效能知识和工具平台,是我们基于在 ThoughtWorks 进行的一系列 DevOps 实践、敏捷实践、软件开发与测试、精益实践提炼出来的知识体系。它包含了各种最佳实践、操作手册、原则与模式、度量、工具,用于帮助您的企业在数字化时代更好地前进,还有 DevOps 转型。
TypeScript
2,142
star
12

fe

《我的职业是前端工程师》 - Ebook:I'm a FrontEnd Developer
HTML
2,004
star
13

serverless

Serverless 架构应用开发指南 - Serverless Architecture Application Development Guide with Serverless Framework.
HTML
1,729
star
14

developer

developer roadmap. use growth https://github.com/phodal/growth replace this
Makefile
1,712
star
15

aigc

《构筑大语言模型应用:应用开发与架构设计》一本关于 LLM 在真实世界应用的开源电子书,介绍了大语言模型的基础知识和应用,以及如何构建自己的模型。其中包括Prompt的编写、开发和管理,探索最好的大语言模型能带来什么,以及LLM应用开发的模式和架构设计。
Rust
1,354
star
16

growth

Growth 3.0 with React Native - an app to help you to be Awesome Developer
JavaScript
1,231
star
17

iot

IoT, 这是一个最小Internet of Things ,一个Internet of Things相关的毕业设计产生的一个简化的物联网系统。 。
Python
1,129
star
18

booktree

A Book Tree
JavaScript
1,044
star
19

skilltree

Web Developer 技能树
JavaScript
952
star
20

ideas

Ideas of Phodal
940
star
21

articles

Article Publish in Wechat & Toutiao
Makefile
911
star
22

toolbox

Phodal's Toolbox
HTML
906
star
23

coca

Coca is a toolbox which is design for legacy system refactoring and analysis, includes call graph, concept analysis, api tree, design patterns suggest. Coca 是一个用于系统重构、系统迁移和系统分析的工具箱。它可以分析代码中的测试坏味道、模块化分析、行数统计、分析调用与依赖、Git 分析以及自动化重构等。
Go
881
star
24

mooa

Mooa 是一个为 Angular 服务的微前端框架。A independent-deployment micro-frontend Framework for Angular from single-spa.
TypeScript
841
star
25

clean-frontend

Clean Frontend Architecture:整洁前端架构
TypeScript
805
star
26

tangping

躺平即正义。Nothing is true, everything is permitted
708
star
27

repractise

RePractise
HTML
699
star
28

sherlock

Skill Tree Sherlock
JavaScript
675
star
29

lan

Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP Protocol.
JavaScript
559
star
30

eks

嵌入式知识总汇 Embedded Knowledge Structure
552
star
31

weapp-quick

微信小应用示例代码
JavaScript
474
star
32

ebook-boilerplate

A Markdown convert to Ebook ➡️ html、mobi、epub、pdf、rtf Template
CSS
426
star
33

quake

Quake is a knowledge management meta-framework for geeks. Use meta-data + Transflow to CRUD data, Git + markdown to management content, Web Component for frontend-custom. Quake 是面向极客的知识管理元框架。
Rust
423
star
34

growth-roadmap

Growth APP' Project, Links, Blogs, Books, Resources
CSS
407
star
35

aofe.code

《前端架构:从入门到微前端》源码,code for Architecture of Frontend
JavaScript
370
star
36

new-project-checklist

🥳🥳🥳🥳 a checklist & tool for new project setup for developer. 新项目检查清单及其工具。
JavaScript
347
star
37

awesome-iot-document

Awesome IoT Documents. [Deprecated] Internet of Things Document
340
star
38

phodit

Phodal's markdown/ebook editor with MicroFrontend & Web Components
TypeScript
330
star
39

oculus-nodejs-threejs-example

Oculus + Node.js + Three.js 打造VR世界
JavaScript
296
star
40

lowcode

Low-code platform design rule
275
star
41

weapp-webdemo

A Hack of Weapp Framework
JavaScript
268
star
42

dx-book

《开发者体验:探索与重塑》电子书。book of research and refactoring in developer experience (WIP)
SCSS
259
star
43

evolution

Growth:增长工程师修炼之道——读书、写作、编程
HTML
244
star
44

licenses

OpenSource License Explains
HTML
243
star
45

adr

Architecture Decision Records in Node.js with Reporter, supported Windows, GNU/Linux, macOS - 轻量级架构决策记录工具
TypeScript
240
star
46

cloud-dev

云研发,是一种生于云上的闭环 + 代码化的软件开发方式。它可以让业务人员、开发人员、运营人员等在同一个云端共同协作、透明化地完成整个软件的生命周期(需求、设计、编码、构建、部署、运营),而非相互隔离,又或者是借助于多个软件才能完成工作。
225
star
47

mole

Mole - based-git cloud note | 墨乐 - GitHub上的云笔记
JavaScript
222
star
48

techlead

Tech Lead Toolbox
TypeScript
197
star
49

make

📖📖📖📖📖 写给软件工程师看的硬件编程指南
HTML
193
star
50

vmap

location:china, GitHub most popular Chinese user in Map
JavaScript
185
star
51

md

A Markdown Editor for Wechat Media Platform
JavaScript
183
star
52

aofe.images

《前端架构:从入门到微前端》原图,image for Architecture of Frontend
161
star
53

smart-home

Phodal's Smart Home Setup Guide:HomeBridge + Home Assistant + Amazon Echo
C++
152
star
54

2md

A Converter for Copy/Paste content to Markdown
JavaScript
151
star
55

trusted

10 factor to build trusted system - 构建可信系统的 10 元素
138
star
56

diaonan

MQTT协议,CoAP协议,WebSocket,物联网协议测试平台
CSS
137
star
57

frontend

《大前端:前端的扩张》
HTML
137
star
58

mifa

Mifa Design
CSS
134
star
59

wecode

A Serverless Gist Application in WeChat. 微信群里的代码协作小程序
JavaScript
125
star
60

lettuce

Mobile Framework for Romantic. 简约的移动开发框架
JavaScript
124
star
61

iot-coap

IoT Learning with CoAP Protocol
JavaScript
121
star
62

awesome-iot-projects

Awesome IoT Projects. A collaborative list of great resources about IoT Demos
112
star
63

setup.guide

前端程序员的 macOS 搭建指南
111
star
64

echoesworks

Next-Generation Tech Blog/Presentation/Slider Framework
JavaScript
109
star
65

water

Water 是开源的下一代软件架构模式,专为云研发/云开发时代设计的软件架构。由实时开发环境 + 云编译、云转译、编程语言数据库等核心要素构建的新一代软件架构模式。
98
star
66

brand

Design for Fun
Python
97
star
67

winv

A mini compatible MINA for web
CSS
91
star
68

growth-in-30-minutes

A Introduction for Growth Paper in Minutes - 真实世界的全栈工程师的十八项必备技能
91
star
69

moqi.mobi

开源移动CMS框架——墨颀移动CMS
JavaScript
86
star
70

javascript-refactor

前端工程师技能训练之重构
JavaScript
82
star
71

ascode.ink

Everything as code architecture design patten and rules。本系列文章是根据《云研发:研发即代码》一文编写的具体实现,将文档、需求、设计、代码、构建、部署、运营变成代码化。
82
star
72

phodaldev

person website
JavaScript
75
star
73

valentine

程序员情人节礼物示例, Valentine's Day Example
JavaScript
75
star
74

layer-architecture

DDD & Clean Architecture in Java, JavaScript, TypeScript, Python, Golang, Cpp
Java
70
star
75

congee

A Web Editor design for Baimizhou
JavaScript
68
star
76

stepping

Stepping - a tools for code design, event storming, domain model generate.
TypeScript
66
star
77

fed

Ebook of Frontend.《我的职业是前端工程师》姐妹篇《前端进阶指南》
HTML
61
star
78

daily

日常练习
CSS
61
star
79

moform

A Serverlesss form builder
JavaScript
58
star
80

dore

React Native-base Hybrid Framework, for migrating Cordova and WebView application to React Native.
JavaScript
55
star
81

growth-code

The Source Code of Growth Paper - 《全栈应用开发:精益实践》源码
Python
55
star
82

summary

Awesome articles, tools, OS project, design of Phodal - collections in path of Phodal's way for new geek & nerd to quick growth
51
star
83

skillwheel

A Skill List for Web Developer
CSS
51
star
84

dou2

一份面向残疾地区的,简单的无障碍上网指南
50
star
85

ionic-elasticsearch

Django ElasticSearch Ionic 打造 GIS 移动应用
JavaScript
49
star
86

awesome-practise-project

Awesome Practise Project
JavaScript
47
star
87

backbone-react

Backbone React in Practice
JavaScript
47
star
88

oan

Another Web Components Framework . A Spike of Web Components Design
TypeScript
45
star
89

mopass

A OpenSource Clientless & Serverless Password Manager
JavaScript
42
star
90

designiot-app

Internet of Things APP
JavaScript
42
star
91

django-elasticsearch

Django ElasticSearch Ionic 打造 GIS 移动应用
JavaScript
41
star
92

awesome-smart-speaker

A Awesome List for Smart Speaker(智能音箱)
41
star
93

growth-in-action-code

Growth In Action Django Code
Python
40
star
94

componentless

Componentless is a architecture pattern which is means component as a services. 无组件(Componentless)架构是一种架构模式,它是指大量依赖于三方组件(运行时依赖的组件而非编译时依赖的组件,即编译即服务)或暂存容器中运行的自定义代码的前端应用。
39
star
95

romantic

待我代码编成,娶你为妻可好
JavaScript
38
star
96

thesis

TeX
36
star
97

design

Design as Code, a DSL for UX & backend modeling. DSL to Sketch file, Sketch to DSL, DSL to code.
Go
36
star
98

designiot-code

Source Code of Design IoT
JavaScript
31
star
99

mooa-boilerplate

microfrontends framewrok mooa's boilerplate.前端微服务化框架 Mooa 脚手架示例
TypeScript
30
star
100

mest

契约测试框架。A TypeScript Contract Test for Interface base project.
TypeScript
29
star