This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import asyncio | |
import uvloop | |
from aiohttp.web import Application, MsgType, WebSocketResponse | |
def add_socket(app, socket, user_id): | |
if user_id in app['connections']: | |
pass |
- 开发
- 组件化开发。整个webapp由各个组件构成,一个组件的Js、CSS和HTML维护在一起,尽量松耦合。
- 模块化开发。Js模块化,CSS模块化,HTML模块化,所有资源都是模块,并采取就近引入原则,哪里用哪里引,同时要做到防止资源重复引入。
- 文件实时监听、浏览器自动刷新。
- 依赖包管理,版本控制。 *规范编码。编码规范的事可以参考《编写可维护的JavaScript》,主要靠自觉。
- 构建
- 可以编译中间语言。比如支持Stylus、Less、Typescript等的编译。
- 支持Js、CSS的压缩和混肴。
- 允许图片压缩后以base64编码形式嵌入到CSS、Js或HTML中。
Vue.js: Reactive Components for Modern Web Interfaces
资料:
- 官方文档 API
- awesome-vue: A curated list of awesome things related to Vue.js
- Vue.js on GitHub:
- vue-devtools: Chrome devtools extension for debugging Vue.js applications.
- 非集中式的负载均衡
- 服务发现(zookeeper)
- 无感知的降级和分流
- 统一实时的监控报警(Trace Client=>Flume=>RabbitMQ=>Spark=>MySQL/HBase/HDFS)
- 提升进程间通信(RPC, 消息通讯)
- 分布式跟踪
- 持续集成
- 自动化弹性部署(Docker)