写点什么

给 JavaScript 一个体面的外表

  • 2007-08-17
  • 本文字数:1034 字

    阅读完需:约 3 分钟

在 Ajax 体验大会上,微软的 UI 框架部门的开发经理 Matt Gibbs 谈到了微软对 JavaScript 开发支持的一些计划,核心内容就是从面向对象化特征、Visual Studio.NET 开发工具和.NET Framework 等几个层次对 JS 进行包装,并进一步提升其对 Web UI 体验的支持能力。这个计划的需求来源于 Ajax 的快速发展,JS 作为 Ajax 的中心技术,通过改造它可以较大程度提高 Ajax 开发的产能。

对开发人员而言,开发 JS 往往并不是什么愉快的经历,很多时候被称为“Write Once, Won’t read a life(一次写成,终生不读)”,就是在 ASP.Net Ajax 团队自己进行产品开发的过程中,他们也在调试 JS 时也饱受煎熬。痛定思痛,微软觉得必须要为 JS 增加面向对象特征,按照“急用先上”的原则,首先要增加命名空间和继承的支持。前者是实施大规模项目的基础,如果所有的对象都散落在一个个 function 里面,那几乎等于直接倒退到 10~15 年前的结构化开发,在快速变化的业务面前,管理和组织这些代码就只能对“敏捷”取非了,通过命名空间的梳理作用起码可以给对象一个有效的组织,在这之后再去考虑重用、架构优化之类的事情;后者的作用更明显,没有继承的 JS 代码适合做“一锤子买卖”的项目,虽然有很多现成的框架,但开发过程和早期的 VB 差不多,项目迭代 2、3 个版本后,重写恐怕比“重用”划算的多。

除了面向对象的封装之外,微软还要推出一个面向 JS 的 UI 对象模型,旨在尽量解决现有浏览器兼容性问题和 JS 执行效率问题的基础上,向 JS 开发人员提供类似 C#一样简便的富客户端开发体验,其中包括 Ajax Web 客户端的数据绑定机制和客户端事件多播机制(Multicast)。不过现阶段能够提供开发人员的还仅限于 Visual Studio.NET 环境中的 JS 代码感知能力和 ASP.NET Ajax 1.0 所提供的运行时服务,包括最基本的安全服务:

  • 读取用户安全信息;
  • 浏览器客户端的远端认证;
  • 用户角色信息。

在此次会议上,针对现有 Ajax 框架对浏览历史记录支持不够的情况,微软也着重阐明了要在 ASP.NET Ajax 中增加相应支持的意见,务求让用户在点击 Back 按钮的时候,可以比较的有效的恢复现场,确保不会因为 Ajax 令用户直观上感到困惑。

相信借 Windows 占领绝对用户市场的微软也意识到如果不紧随 RIA 的趋势,那么用户、商业平台和项目机会将会很快被竞争对手夺取,很大程度上来说用户是应用导向型,谁可以把更大比例的 Web 开发人员聚集到自己的平台,谁就更有可能通过技术因素占领市场。既然现在很多 Web 开发人员最关心的是 Ajax 和 JS,那该出手就要出手了。

2007-08-17 03:001116
用户头像

发布了 61 篇内容, 共 14.6 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

JAVA Annotation详解

平凡人生

Vue进阶(幺陆肆):自定义指令之拖拽指令

No Silver Bullet

Vue 11月日更

web技术分享| WebRTC 实现屏幕共享

anyRTC开发者

大前端 Web 音视频 WebRTC 屏幕共享

时代赋机遇,双十一电商盛会神助攻——中科柏诚

联营汇聚

能让你从P6+学到P9也只有马士兵老师了,全套学习资源分享

Java架构追梦

Java 编程 架构 面试 马士兵

Node.js 17 新特征简介

devpoint

node.js Promise 11月日更

实验室lims系统解决方案

低代码小观

实验室管理系统 企业管理 LIMS实验室信息管理系统 LIMS系统 信息管理系统

☕【Java技术指南】「序列化系列」深入挖掘FST快速序列化压缩内存的利器的特性和原理

码界西柚

11月日更 FST 快速序列化

没有性能瓶颈的无限级菜单树应该这样设计

Tom弹架构

Java 架构 设计模式

何时适合进行自动化测试?(下)

禅道项目管理

自动化测试

华为云天筹AI求解器:智能世界是道迷人的数学题

脑极体

超全整理:程序员都在用什么工具?

华为云开发者联盟

程序员 技术 设计 编程语言 开发工具

NEJ Build太慢怎么办?试试MOOC NEJ吧,只需两步,提升70%构建性能!

有道技术团队

算法

论层次架构风格

lazytortoise

RabbitMQ详解——服务端存储机制(二)

AiDaddy

RabbitMQ mnesia ETS

linux 设置VPN

webrtc developer

Linux vpn

学长带路学吉他,这几招足够了

懒得勤快

看企业如何玩转低代码,引发效率革命

行云创新

云原生 低代码 开发 直播 双十一

【等保小知识】等保与分保的三大区别汇总分析

行云管家

网络安全 数据安全 等保 分保

数据库审计是什么意思?作用是什么?

行云管家

数据库 安全 IT运维 数据库审计

iOS开发-百度一面总结

iOSer

ios 面试 iOS面试 ios开发 百度面试

快手微服务架构技术交流会

快手中学

微服务 云原生 稳定性

推荐学Java——初识数据库

逆锋起笔

Java MySQL 数据库 Java后端

初入云计算行业,可以考取哪些云计算证书?

行云管家

云计算 腾讯云 阿里云 证书 IT运维

RabbitMQ详解——RabbitMQ架构部署(四)

AiDaddy

RabbitMQ Mirror Queue Federation

托管页前端异常监控与治理实战

百度Geek说

大前端

架构实战营模块七作业

Geek_d18264

架构实战营

腾讯安全姬生利:云原生环境下的“密码即服务”

腾讯安全云鼎实验室

云原生 加密

`MD`语法技巧Typora

sec01张云龙

11月日更 MD MD写法

华为云·核心伙伴开发者训练营——产业云专场在东莞松山湖圆满落幕

华为云开发者联盟

华为云 鲁班会

给JavaScript一个体面的外表_.NET_王翔_InfoQ精选文章