腾讯Web前端框架库 JX

BSD
JavaScript
跨平台
腾讯
2012-03-23
Kinvix

by Tencent AlloyTeam

简介

JX 是模块化的非侵入式Web前端框架,开发于2008年,并于2009年开源于GoogleCode - http://code.google.com/p/j-et/,于2012年切换到Github,开始我们开源计划的新征途,请记住我们的最新开源地址:https://github.com/AlloyTeam/JX,欢迎访问我们的团队Blog - http://www.alloyteam.com/2012/06/jx-framework/,谢谢大家来支持^_^。

JX 框架同时适用于 Web Page 和 Web App 项目的开发,特别适合构建和组织大规模、工业级的Web App,腾讯 WebQQ -http://web.qq.com、腾讯 Q+ http://www.QPlus.com 等产品都是采用JX框架开发,兼容目前所有主流浏览器。

 命名含义

  • JX 是 Javascript eXtension tools 的缩写,即 Javascript 扩展工具套件的意思。

设计理念

  • 保持最优的执行效率

  • 保持 Javascript 原有的代码风格,降低学习难度

  • 不做任何的过度封装

  • 更好的组织工业级 Javascript 应用程序

  • 探索在前端使用 MVP、MVC 等模式来构建大型 WebApp

  • 探索工业级 Javascript 的开发技术

特性

  • 微内核设计:内核可完全分离出来,用于构建其他的框架

  • 原生对象零污染:你懂的,随着js的App越来约复杂,对原生对象的零污染也体现的越来越重要了

  • 模块封包:采用命名空间、闭包等方式建立了模块封包的体系,帮助更好的组织海量js代码

  • 模块自由拼装:自身模块做了良好的架构分离,尽可能让各个模块之间可以自由的拼装组合

  • 无缝集成各种js框架:与jQuery, YUI, Mootools, Prototype.js 等框架无缝集成;与多种局部框架无缝集成,如:Mini, Sizzle, cssQuery, xpath, JSON 等等

  • 多版本共存:如采用的Jx版本过旧,旧有的Javascript代码不能与新版本Jx兼容,则可以采用多版本共存的方式保持程序的可延续性

  • 分层设计:Javascript核心层,与Javascript解释引擎无关的封装和扩展;浏览器端Javascript层,对浏览器中的Javascript引擎部分的封装和扩展

代码示范

  • JX 代码组织方式一(传统):

    var J = new Jx();
    J.out(J.version);

  • JX 代码组织方式二(推荐):

    Jx().$package(function(J){
        J.out(J.version);
    });

相关文档

架构

第一层:Core Javascript 扩展模块 / 代码组织模块(可用于NodeJs等其他js引擎,轻松组织大型应用,无缝接入其它js库)

第二层:Browser Javascript 扩展模块(跨浏览器,基础封装) / 可选模块(设计模式相关模块,选择器模块…)

第三层:UI 组件 / 实时动画模块 / 游戏引擎模块

发展规划

  • 核心底层 - 纯Js底层功能封装/代码组织/无缝接入其它js库 – [完成]

  • 基础扩展 - 跨浏览器封装/工具函数/设计模式相关 – [完成]

  • UI 基础控件 - 按钮/面板/窗口/树形列表/Tab/lightbox/widgets…

  • 实时动画系统 - 实时定时器/关键帧动画/加速度公式/物理引擎/声音控制器…

  • 游戏引擎 - 角色控制/地图系统/游戏异步通讯系统/寻路算法/键盘控制/人工智能/…

设计原则

  • 不要重复自己(Don’t Repeat Yourself) 业界已经有很多优秀的局部框架,比如JSON、Mini Selector Engine、SWFObject、

谁在用JX

感谢

感谢团队每一位成员做出的努力,有你我们会更精彩!

Tencent Alloy Team 2012

加载中

评论(7)

进击的代码
进击的代码
死了吗? JX
丿歌吟有梦
丿歌吟有梦
严重缺少demo! JX
空腔
空腔
那个,什么微内核,怎么用。。 JX
八风不动
八风不动
严重缺乏Demo页,你看人家EasyUI,每个功能都有Demo,一看就知道是否合用。 JX
wobuzhidao_
wobuzhidao_
http://alloyteam.github.com/JXUI/component.html 这里面代码有很严重的Twitter Bootstrap 痕迹 JX
小编辑
小编辑
腾讯前端 Jx 框架全面开源,look, look

暂无资讯

50
回答
OSC 第 88 期高手问答 —— 移动 Web 开发
图灵教育 的回答 2015/09/09 14:34
最佳答案
活动已经结束,恭喜@@流云诸葛 、@小鸽子咕噜、@zhaowweny 、@leoxu 、@caotian 在高手问答环节中获得《JavaScript设计模式与开发实践》1本,请把邮寄地址私信给@图灵教育。再次感谢各位积极参与活动。邮寄信息格式:姓名+电话+地址+邮编号码。
14
回答
Jx 首页很酷,但是简介第一句就出错别字……

“……目前已经应用与WebQQ2.0和……” 这让人情何以堪呀 ;-)

JX
2012/03/23 13:53
3
回答
ps:JX目前属于提前泄漏,并未正式开源,部分文档还不完善

ps:JX目前属于提前泄漏,并未正式开源,部分文档还不完善

JX
2012/05/28 14:02
4
回答
JX的界面很好看 但是TX也太不仔细了吧

JX==JET 要不要改一下啊

JX
2012/03/23 14:13
9
回答
JX第一感觉就是很酷

JX第一感觉就是很酷

JX
2012/03/23 13:16

没有更多内容

加载失败,请刷新页面

没有更多内容

jxls 操作excel案例

需要的jar包: excel里面的配置信息: <jx:forEach items="${departments}" var="department" varStatus="status"> <jx:if test="${department.line==0}" > ${status.index} ${department.t...

2011/12/27 16:53
3.7K
1
Node.js JXcore 打包

Node.js JXcore 打包 Node.js是一个开放源代码、跨平台的、用于服务器端和网络应用的运行环境。 JXcore是一个支持多线程的 Node.js 发行版本,基本不需要对你现有的代码做任何改动就可以直接...

11/26 08:04
7
0
国内HTML5前端开发框架汇总

Dawei Cheng 程大伟... 于星期日, 02/12/2012 - 20:53提交 国外很有多优秀的HTML5前端开发框架相信大家都耳熟能详:JQuery Mobile,Twitter Bootstrap, Schena Touch, BackBone等等。 同样,...

2013/08/07 15:13
75
0
jxls 遍历Map

第一种方式 <jx:forEach items="${myMap.keySet()}" var="key" varStatus="count"> ${key} ${myMap.get(key).get('myInnerKey')} </jx:forEach> 第二种方式 List<Map<String,String>> excel...

2013/05/09 15:41
815
0
国内最火的五款HTML5前端开发框架

国外优秀HTML5前端开发框架非常之多,如jQuery Mobile、Twitter Bootstrap、Schena Touch以及BackBone。本文介绍的5款工具,其中4款是由互联网巨头腾讯、阿里巴巴和百度开发完成的,希望能对...

2014/09/24 01:19
43
0
vim中使用翻译功能

在vim中使用翻译功能,是使用的在网上找的一个googletranslate.vim的源码 可以调用谷歌的翻译进行当前词的翻译,这回很方便了。哈哈。

2013/12/06 18:09
384
0
导出excel时自动计算百分比率

jxls操作excel文件,导出excel时自动计算相关列百分比率

2016/12/26 10:40
30
0
spring boot + mybatis 同时访问多数据源

数据迁移需要同时访问两个数据库,数据从jx迁移到my。 jdbc配置在yml配置文件添加: application.yml jdbc: jx: jdbc-url: jdbc:mysql://localhost:3306/jxjr?useSSL=false username: root pa...

12/14 15:56
9
0
html脚本解释器-【c#】

几年前刚学c#写的 解析类发出来 ``` namespace 采集脚本_1 { class zd { 爬虫类 pa=new 爬虫类(); http_post post_1=new http_post() ; http_get get_1 = new http_get(); public string get...

06/14 22:53
64
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部