Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NextWind前端体系介绍
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Chris
August 03, 2012
Programming
280
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
NextWind前端体系介绍
PHPWind9前端体系介绍
Chris
August 03, 2012
Other Decks in Programming
See All in Programming
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
220
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
140
これからAgentCoreを触る方へトレンドはGatewayです
har1101
6
450
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
380
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
210
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
270
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
1k
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
120
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
280
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.5k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
230
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
250
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Raft: Consensus for Rubyists
vanstee
141
7.6k
Accessibility Awareness
sabderemane
1
150
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
How to make the Groovebox
asonas
2
2.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Chasing Engaging Ingredients in Design
codingconduct
0
230
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Transcript
NextWind 前端体系介绍 2012-8-2 陈超群
思考:到底什么是前端开发 •HTML •CSS •JavaScript 这只是前端开发最重要的技能
前端仔的工作内容 • 视觉还原( HTML 、 CSS ) • 交互实现( JavaScript
) • 浏览器兼容性( HTML 、 CSS 、 JavaScript ) • 页面可访问性( SEO 、浏览器、读屏软件)
前端开发要考虑的群体 • 正常人 • 非正常人 • 浏览器 • 搜索引擎 •
读屏软件
NextWind 前端的重点 • 需要开发规范 • 需要核心类库 / 框架 • 需要开发文档
• 代码的可维护性 • 页面的可访问性 • 功能的可扩展性 • 高性能的前端体验
http://www.windframework.com/index.php/ 前端开发规范
Breeze • 需要专人来开发维护 • 质量比不过知名开源框架 • 开源框架在国内的推进与发展不容易 • 第三方开发、项目新进成员的学习成本 Breeze是2年前PHPWind中筹备开发的⼀一个JS框架,但
是经过了⼏几个月的开发,毅然决定放弃之,主要的原因:
JavaScript 框架、类库的选择
46% 12% 9% 9% 8% 7% 5% 5% javaScript 库使用概况统计
jQuery Facebook for Websites jQuery UI SWFObject Facebook SDK jQuery Cycle Twitter Platform MooTools http://trends.builtwith.com/javascript
拥抱 jQuery • 世界上最流行的 js 类库 • 有着最多的使用人群 • 庞大的技术社区支持
• 丰富的开源插件 • 开源、免费,使用 MIT & GPL 双协议 http://jquery.org/license/ 放弃 Breeze 后,首先想到的就是在 jQuery 与 YUI 之间选择一 个,经过几番思考,选择了 jQuery 。 http://docs.phpwind-inc.com/read.php?tid-858.html
最近发现大客户们都拥抱 jQuery • 化龙苍 • 新昌信息港 • 威锋网 • 厦门小鱼
JavaScript Loader 为解决浏览器加载 JS 的阻塞浏览器渲染的问题,我们需 要一个脚本加载器。
传统的脚本加载方式 Apple.com 首页
视频: phpwind.net 首页的加载过 http://httparchive.org/viewsite.php?pageid=2235188 ( PW 首页) http://httparchive.org/viewsite.php?pageid=2234050 ( DZ
首页)
JavaScript Loader 的选择 •LabJS •ControlJS •HeadJS •RequireJS (标准化 JS 模块加载器)
•SeaJS (标准化 JS 模块加载器) •...... •N 多 JS
WindJS 诞生 • 建立在 HeadJS 之上 • 做了部分精简与修改 • 含注释的开发版
16K •Gzip 压缩后 2.6K
WindJS 核心 API •Wind.js—— 异步、并行加载脚本资源 •Wind.ready——DomReady 方法 •Wind.css—— 加载 css
资源 •Wind.tmpl 方法 —— 微型 javascript 模板引擎 •Wind.use—— 使用别名的方式加载常用 JS
别名加载机制 常用脚本组件,我们不想去根据 URL 加载。一个 web 产 品,它的 URL 是多资多样的,如果 URL
变掉了,那么所 有引用的地方全部得改,所以我们对常用的 JS 组件,并 不直接加载其地址,而是使用一个别名来实现模块化管 理。
简单代码示例
在 wind.js 里定义别名
问题来了 • 高性能的前端部署,怎么能不压缩前端代码,怎么能不合并请 求? • 压缩后怎么做二次开发?
前端性能优化的制约 • 无法把握、控制站长的服务器 • 熟知的雅虎 34 条性能优化军规,好多无法实现 http://developer.yahoo.com/performance/rules.html http://www.ha97.com/2710.html (中文版)
HTTP 头 Expires 不能做 CDN 不能做 GZip 不能做 HTTP 头
Cache-control 不能做 代码压缩不能做 怎么办?
选择适合我们自己的方案
前端资源目录 // 压缩后的 // 开发目录(源代码) // 与业务相关的 js 代码文件 //ui
组件库 // 非 ui 组件库 // 富文本编辑器 // 国际化配置文件
开发模式 / 线上模式 通过后端输出开关配置,来确定是使用 build 目录还是 dev 目录,在上线之前通过 build 工具把代码
copy 到 build 目录。
自动版本参数
前后端开发约定 • 前端只负责展现数据和提交数据,不做任何业务逻辑的判断 • 后端不输出任何带有脚本的代码 •AJAX+JSON , 并不是 8.x 中的伪
AJAX+XML http://www.windframework.com/index.php/ 前后端开发配合约定
前端工具 http://ued.phpwind-inc.com/index.php/ 前端工具集合
示例演示
NextWind 富文本编辑器介绍
JS 框架和编辑器哪个难?
NextWind 编辑器需求 • 有插件扩展机制 • 建立在 jQuery 基础之上 • 需要实现
UBB 代码编辑 • 一系列 NextWind 特有的功能:出售、隐藏、表情等等 • 可作为通用的富文本编辑器
思考如何开发编辑器 考查了一圈 ckeditor 、 tinymce 、 ueditor 、 kissyeditor 、
kindeditor 、 xheditor ,发现都不合 适。
编辑器结构 与 NextWind 业务相关的功能,全部作为插件调用,可灵活定制。 可自主开发并替换默认皮肤。
基本的调用方式
可访问性 • 应付极端环境下的正常浏览需求 • 结构、表现、行为跨终端跨平台兼容支撑 • 保障残障人士无障碍信息获取 • 强化搜索引擎友好 http://rexsong.com/webdesign/accessibility/
听听特殊用户的声音 • 盲人用户体验谈 -- 写在 phpwind8.7 正式发布前 • 请官方注意:默认模板中的很多 img
元素没有 alt 属性
NextWind 页面可用性 & 无障碍规范指南
无障碍开发示例 http://www.zhangxinxu.com/wordpress/ 2012/03/wai-aria- 无障碍阅读 /
前端开发中遇到的问题 • 前端资源仅缺,作为公共资源经常被拉去支援别的项目 • 时间不够,需求都做不完, BUG 也改不完,很多亮点功 能没时间做。
尚未完成 • 图片懒加载 •Flash 头像上传 • 前端开发文档
HTML5 的展望 •HTML5 新标签 •HTML5 新的表单 • 语音输入 • 文件拖拽上传
• 编辑器内图片直接粘贴上传 • 桌面通知 •Page Visibility • 地理定位
CSS3 的展望 •CSS3 Selectors • 动画、圆角、阴影、渐变、 web 字体,等等等等 •Responsive Web
Design
关注浏览器市场 http://tongji.baidu.com/data/browser/
在摸索中前进
Thanks!