xmlplus 介绍

xmlplus 是一个设计非常独特 JavaScript 框架,用于快速开发前后端项目。
基于组件设计
在 xmlplus 中,组件是基本的构造块。评价组件设计好坏的一个重要标准是封装度。基于 xmlplus 设计的组件具有极高的封装度。下面是一个简单的组件示例:
Widget: {
css: "#widget{ color: red; }",
xml: `<h1 id='widget'>default</h1>`,
fun: function (sys, items, opts) {
sys.widget.text("hello, world");
}
}
注意,这个组件包含的样式、XML 文档以及函数项仅对该组件有效,其它组件对它是完全不可见的。这种组件的书写方式改变了传统的将 CSS、JS 以及 HTML 置于不同文件的应用书写模式,但它却能使你在构建应用时更加得心应手。
组件由命名空间组织。基于传统目录路径的组件引用方式,让组件的使用更为便捷。假设你已经定义好一个位于命名空间 //ui 的 Calendar 组件,那么你可以在 HTML 页面中这样使用它:
<Calendar xmlns="//ui"/>
至于如何定义组件,请参考官方文档 http://www.xmlplus.cn/docs。
友好的相容性
非侵入式的设计,使得 xmlplus 可以与当今几乎所有的框架或者库集成使用。
利用 xmlplus 出色的整合能力,你可以整合现有的库或框架到你的项目中,以避免陷入重造轮子的困境。
下面是一个封装 Bootstrap 按钮组件的一个示例:
Button: {
xml: `<button type='button' class='btn'/>`,
fun: function (sys, items, opts) {
this.addClass("btn-" + opts.type);
}
}
经由此封装后,你可以像下面这样非常简洁地使用它:
<Button type='default'>Default</Button> <Button type='primary'>Primary</Button> <Button type='success'>Success</Button>
一次学习, 多端使用
xmlplus 独特的设计,使得它可以以相同的方式,设计基于浏览器端以及基于服务端的应用。
在浏览器端,使用它可以高效地开发单页应用。在服务端,你既可以用它来开发服务应用,还能用它开发传统网站。
下面是一个服务端的一个简单的 Sqlite 组件的封装。
Sqlite: {
fun: function (sys, items, opts) {
var sqlite = require("sqlite3").verbose(),
return new sqlite.Database("data.db");
}
}
你可以像下这样使用上面已经定义好的 Sqlite 组件:
Example: {
xml: `<Sqlite id='sqlite'/>`,
fun: function (sys, items, opts) {
let stmt = "SELECT * FROM users";
items.sqlite.all(stmt, (err, rows) => console.log(rows));
}
}
本框架支持在后台直接序列化输出 HTML 代码,所以使用 xmlplus 开发传统网站是极其便利的。下面示例简单地演示了这一点:
HttpServer: {
xml: `<html>
<body id='body'>default</body>
</html>`
fun: function (sys, items, opts) {
let http = require("http");
http.createServer((req, res) => {
sys.body.text("hello,world");
res.setHeader("Content-Type", "text/html");
res.end(this.serialize(true));
}).listen(80);
}
}
通过示例,你可以发现,在处理服务接受请求后,可以动态改变 XML 的文档结构,这一点使得 xmlplus 开发传统网站方式与 PHP、JSP 等脚本语言有着很大的不同。
另外,xmlplus 所包含的检索、通信、共享 以及 延迟实例化 等基本特性也是其独有的,它们可以极其高效地辅助应用的开发。
xmlplus 学习指南
xmlplus 是一个开源的框架,你可以访问官方网站:http://www.xmlplus.cn。官方网站包含详细的入门教程,你可以从这里开始。
另外 xmlplus 的源代码托管于 github,你可以通过访问下面的地址来获取相应的资源:
https://github.com/qudou/xmlplus
如果你已经学完了基础教程,那么可以继续学习本博写的 xmlplus 组件设计系列。此系列主要讨论实际中组件的设计思路、方法与技巧等。
xmlplus 组件设计系列之一 - 图标(ICON)
xmlplus 组件设计系列之二 - 按钮(Button)
xmlplus 组件设计系列之三 - 文本框(TextBox)
xmlplus 组件设计系列之四 - 列表(List)
xmlplus 组件设计系列之五 - 选项卡(Tabbar)
xmlplus 组件设计系列之六 - 下拉刷新(PullRefresh)
本系列文章基于 xmlplus 框架。如果你对 xmlplus 没有多少了解,可以访问 www.xmlplus.cn。这里有详尽的入门文档可供参考。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# xmlplus
# 组件
# xmlplus组件设计系列之网格(DataGrid)(10)
# xmlplus组件设计系列之路由(ViewStack)(7)
# xmlplus组件设计系列之分隔框(DividedBox)(8)
# xmlplus组件设计系列之树(Tree)(9)
# 你可以
# 是一个
# 文档
# 服务端
# 用它
# 使用它
# 如果你
# 还能
# 你在
# 它是
# 你对
# 它可以
# 可供
# 你已经
# 一个重要
# 得心应手
# 极高
# 能使
# 既可
# 几乎所有
相关文章:
建站之星在线版空间:自助建站+智能模板一键生成方案
如何通过虚拟主机快速完成网站搭建?
专业商城网站制作公司有哪些,pi商城官网是哪个?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何使用Golang安装API文档生成工具_快速生成接口文档
建站之星官网登录失败?如何快速解决?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
如何在腾讯云服务器上快速搭建个人网站?
如何在Windows环境下新建FTP站点并设置权限?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
建站之星客服服务时间及联系方式如何?
如何高效搭建专业期货交易平台网站?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
建站主机如何选?高性价比方案全解析
实例解析Array和String方法
如何用腾讯建站主机快速创建免费网站?
山东网站制作公司有哪些,山东大源集团官网?
高端企业智能建站程序:SEO优化与响应式模板定制开发
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何通过万网虚拟主机快速搭建网站?
定制建站是什么?如何实现个性化需求?
建站之星如何防范黑客攻击与数据泄露?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
湖北网站制作公司有哪些,湖北清能集团官网?
如何基于云服务器快速搭建个人网站?
c++ stringstream用法详解_c++字符串与数字转换利器
英语简历制作免费网站推荐,如何将简历翻译成英文?
,有什么在线背英语单词效率比较高的网站?
建站主机是否属于云主机类型?
如何选择靠谱的建站公司加盟品牌?
如何用搬瓦工VPS快速搭建个人网站?
如何在IIS中配置站点IP、端口及主机头?
制作网页的网站有哪些,电脑上怎么做网页?
如何配置WinSCP新建站点的密钥验证步骤?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
建站之星代理费用多少?最新价格详情介绍
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
教程网站设计制作软件,怎么创建自己的一个网站?
已有域名如何快速搭建专属网站?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
高端建站三要素:定制模板、企业官网与响应式设计优化
江苏网站制作公司有哪些,江苏书法考级官方网站?
定制建站价位费用解析与套餐推荐全攻略
红河网站制作公司,红河事业单位身份证如何上传?
贸易公司网站制作流程,出口贸易网站设计怎么做?
学校建站服务器如何选型才能满足性能需求?
安徽网站建设与外贸建站服务专业定制方案
*请认真填写需求信息,我们会在24小时内与您取得联系。