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
Chris
August 03, 2012
Programming
4
270
NextWind前端体系介绍
PHPWind9前端体系介绍
Chris
August 03, 2012
Tweet
Share
Other Decks in Programming
See All in Programming
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
0
240
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
500
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
110
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
250
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
5.6k
AIエージェントの設計で注意するべきポイント6選
har1101
6
3.2k
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
170
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
170
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.5k
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
680
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.5k
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
180
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
190
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
67
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
91
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Faster Mobile Websites
deanohume
310
31k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Into the Great Unknown - MozCon
thekraken
40
2.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
510
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
160
From π to Pie charts
rasagy
0
120
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!