【前端开发框架】面向UI编程框架:ui.js框架思路详细设计

JavaScript语言的图形用户界面 通过这个简单的例子,我们展示了如何使用React构建一个图形用户界面。应用的结构清晰,功能划分明确,便于维护。 阅读详情

由于上一次的灵光一闪,萌生了对面向UI编程的思想实现。经过一段时间的考虑和设计,现在将思想和具体细节记录下来:

具体思路描述:

  1. 在UI.config文件中,配置所有参数,比如页面模板、所有组件、组件控制、接口注入
  2. ui.js根据配置文件中所选择的模板,进入布局模板库中找到所加载的模板
  3. 将模板首先注入页面之中。
  4. ui.js分析页面模板布局中所需要加载的组件以及其他操作,将这些组件数据注入到数据中转池
  5. 然后数据中转池,将组件信息传递给ui.js,需要哪些组件和操作
  6. ui.js将中转池传过来的组件信息通过配置文件从组件库中去寻找
  7. 寻找到模板所需组件注入页面,数据中转池配合组件的js,对组件进行初始化。直到页面加载完成

配置文件的配置设计:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
UI.config=({
    //配置路径
    baseUrl:"/",
    //注入模块
    template:{
        //布局模板名称:模板地址+是否装载
        "layout1":["layout/layout1.tpl",true],
        "layout2":["layout/layout1.tpl",false]
    },
    //注入接口
    interface:{
        "interface1":"www.123.com/interface1",
        "interface2":"www.123.com/interface2",
        "interface3":"www.123.com/interface3",
        "interface4":"www.123.com/interface4",
        "interface5":"www.123.com/interface5",
    },
    //注入组件
    module:{
        //组件名:组件地址+组件是否装载+接口注入
        "md1":["module/header.mold",true,["interface1","interface2"]],
        "md2":["module/body.mold",true,["interface1","interface2"]]
    },
    //组件逻辑js
    data:{
        //js所需接口和其他数据都需数据中转池配合
        "md1_js":"modulejs/md1.js"
    }
});

  

 数据中转池设计思路:

具体思路描述:

  1. 每个组件在配置文件中生成之后,导入ui.js中处理后,会生成每个组件对应的uuid(唯一标识)
  2. 在进行数据流转和互通的时候,必须通过uuid进行存储和使用
  3. 对于只使用一次和永久存放的数据进行标记和回收
  4. 配合组件进行变更,组件加载数据加载,组件卸载数据卸载
  5. ...

面向UI思想框架优势:

  1. 高度复用html,如果一个更通用的模板,可以无限次复用(可以更换接口)
  2. 灵活变更网页布局。传统页面都是布局好了之后无法变更,UI引入布局模板,可以随意进行布局,只要最后引入组件正确即可
  3. 对所有接口进行了统一管理,每个组件进行分别注入,按需使用
  4. 可进行全球分布协作开发,每个组件配置地址可以在互联网的任何角落,我只需要按着地址可以取到我的组件和处理js即可
  5. 可一个项目,由互联网上各处的组件拼凑完成,如果后台可支持跨域,那么一个项目前后台都可是互联网上的资源,而我们部署的服务器只是提供一个展示入口
  6. 开发只需要专注每个组件开发即可,一个一个组件开发,开发完成通过配置装载上线
  7. 对于项目局部进行更新,可直接卸载一个组件,不需要关闭整个服务器。更新完成之后,更新组件,重新装载上线
  8. 每个企业可维护自己的一套组件库,高度复用。新项目如果遇到以前开发过的组件直接配置路径和参数使用。
  9. 可将配置文件参数通过后台获取,动态维护所有组件。方便运维
  10. 对于接盘侠(维护人员)来说,有更方便和快捷的方式进行处理(局部组件开发规范参考自我总结的高效开发和维护方案)
  11. 更使用于单页应用,因为只有针对于局部刷新,加载速度比一般网页速度更快
  12. ...我唯一能想到的就这么多,我会将这个项目开源,希望更多的志同道合的人,一起开发更强大的UI.js

 PS:现在只是对思路做一个详细设计,在开发中可能会遇到各种各样的问题,而且该思路是我的第一次起草,可能不是很完善,如果大家有更好的思想和灵感,希望大家不吝赐教。这段时间先把基础版本写好,然后公布成开源项目出去,以后欢迎大家一起完善。

下面是我的手稿:

我是码农,我不喜欢被代码玩弄,我喜欢用代码去改变世界,希望这世界更美好!!!加油,共勉!!!!

原文:http://www.cnblogs.com/GerryOfZhong/p/6143234.html

 【关于我们】

才淇(微信公众号:caiqicehua),专注于国内各大互联网公司社会招聘内推。每天更新最新互联网名企(包括但不限于今日头条、网易游戏、BAT、网易互联网、小米、京东、乐视、携程等名企)内推信息,有技术岗、有产品岗、有运营岗、有设计岗、有交互岗、有销售岗,更有其他N多相关岗位!更多内推信息请扫描以下二维码关注查阅。

 

jQuery UI.js——简化Web开发的JavaScript库 jQuery UI.js是一个功能强大的JavaScript库,旨在简化Web开发过程中的用户界面设计和交互效果。通过使用jQuery UI.js,开发人员可以节省大量的时间和精力,快速构建功能丰富、用户友好的Web应用程序。jQuery UI.js是一个基于JavaScript的开源库,旨在简化Web开发过程中的用户界面设计和交互效果。它是jQuery库的扩展,提供了丰富的可重用组件和丰富的交互特性,使开发人员能够轻松地创建出色的用户界面。下面将介绍一些常用的组件和功能,并提供相应的源代码示例。 阅读详情

相关推荐

ui.js: 构建基于闭包的轻量级UI框架

本文还有配套的精品资源,点击获取 简介:ui.js是一个为用户界面构建和路由功能设计的JavaScript闭包库,强调模块化和数据隔离。其核心特性包括作用域控制、内存管理、组件化开发、事件处理、路由管理和高效DOM操作。框架还通过虚拟DOM、懒加载和批量更新技术优化性能。开发者可通过官方文档和示例代码学习使用,并在活跃社区中获得支持。 1. ui.js闭包库的基本...

weixin_36047538的博客 1968

jquery-ui.js 拖动

lang="en"> charset="utf-8"> jQuery UI 拖动(Draggable) + 排序(Sortable) rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> src="//code.jquery.com/jquery-1.9.1.

lianxin19900610的博客 1244

ui.js:闭包库的基本UI框架

ui.js 建立在上的简单UI /路由框架。

JavaScript轻应用:UI组件的属性配置

1、前言 关于轻应用的文档请参考:https://help.aliyun.com/document_detail/174810.html 之前的文档已经介绍过,轻应用UI主要包含三部分:页面结构(xml文件)、页面样式(css文件)和页面逻辑(js文件),这里主要介绍一下页面结构的组成。 在 /pages 目录中的 xml 文件用于定义当前这个页面的结构,文件内容遵循 xml 语法。xml文件中主要包含了UI组件的标签,以及UI组件的属性。 2、UI组件标签 以文本组件为例,其标签名称是...

HaaS技术社区的博客 1359

jquery-ui.js

JQUERY-UI非常实用的web开发JS文件,是我们很方便的操作HTML元素

uijs:前端应用程序的Javascript框架

uijs 前端应用程序的Javascript框架。 (有时重新发明轮子可以帮助您了解轮子的工作原理)

JavaScript与前端框架Element UI

Element UI正是这样一个广受好评的前端UI框架,它基于Vue.js构建,提供了丰富且易于使用的组件库,帮助开发者快速搭建美观、功能齐全的Web应用。作为Web前端知识开发人员,我们应该充分利用像Element UI这样的优秀工具,探索更多创新性的解决方案,为用户提供更加优质的产品和服务。通过引入Element UI,开发者可以专注于业务逻辑的实现,而不必从零开始设计和实现复杂的UI组件。希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1032

保姆级教程:用Python+OpenCV实现相移法与格雷码三维重建(从生成条纹到点云生成)

本文详细介绍了使用Python和OpenCV实现相移法与格雷码三维重建的全流程,从条纹生成到点云计算。通过结构光技术,结合相移法和格雷码,实现高精度的三维重建,适用于无纹理物体表面的密集对应点生成。教程包含环境搭建、条纹生成、相位计算、三维点云重建及常见问题排查,适合计算机视觉开发者和研究人员。

weixin_33443333的博客 350

面向UI编程框架:ui.js框架思路详细设计

由于上一次的灵光一闪,萌生了对面向UI编程的思想实现。经过一段时间的考虑和设计,现在将思想和具体细节记录下来: 具体思路描述: 在UI.config文件中,配置所有参数,比如页面模板、所有组件、组件控制、接口注入 ui.js根据配置文件中所选择的模板,进入布局模板库中找到所加载的模板 将模板首先注入页面之中。 ui.js分析页面模板布局中所需要加载的...

weixin_34355881的博客 177

告别环境配置烦恼:Docker容器化一站式搭建Zephyr RTOS开发环境

本文详细介绍了如何使用Docker容器化技术一站式搭建Zephyr RTOS开发环境,彻底解决环境配置不一致、依赖冲突等难题。通过预构建镜像、数据卷挂载和实战编译示例,帮助开发者快速获得隔离、一致且可复现的嵌入式开发环境,大幅提升开发效率和团队协作体验。

n8m7b6v5c4的博客 189

小白学习微信小程序的图像识别和文字识别技术

其中,type参数指定了识别的类型,imageUrl参数指定了图片的地址,success回调函数用于处理识别成功的结果,fail回调函数用于处理识别失败的情况。其中,type参数指定了识别的类型,imageUrl参数指定了图片的地址,success回调函数用于处理识别成功的结果,fail回调函数用于处理识别失败的情况。下面,我们来实现一个文字识别的应用案例,可以识别一张图片中的文字,并将识别结果显示到小程序的页面上。在小程序中,也可以使用微信提供的文字识别接口,实现文字识别的功能开发。

qq_67153941的博客 1643

ui框架 js框架_我们如何再次编写最快的javascript ui框架

ui框架 js框架I have a process. I apply this to almost any sort of problem I face.我有一个过程。 我将此应用于几乎所有我遇到的问题。 Step 1. Define the problem 步骤1.定义问题This for me often takes the longest. It is absolutely critical...

weixin_26735419的博客 732

Nest的限流方案

多维度限流(如 IP、用户 ID、接口级别、请求类型)可配置化(支持不同环境和接口动态配置)可观测性(接入日志、监控系统)高性能和分布式支持(Redis 限流器)与鉴权鉴权链路集成(结合 JWT、API Token)以下是一个“标准// 优先按用户ID限流,否则按IP在main.ts维度建议限流存储推荐 Redis 支持多实例限流 Key 设计支持 IP + 用户ID + 路由等多种维度限流策略精细化配置,接口粒度调整异常处理自定义响应体、日志告警观测性。

Bruce__taotao的博客 1196

UI组件库、前端框架、UI框架、前端库,脑瓜嗡嗡的?一文解决

Hi,我是贝格前端工场,看到上面四个概念,是不是经常混淆,其实他们是完全不同的概念,就是因为有部分厂商啥活都干,让你误以为四个概念差不多,本文给大家讲解下。

贝格前端工场的博客 2315

Zabbix7.0实践:专线线路监控场景1

本文介绍了专线互联线路远程Ping监控的实现方案。针对运营商中间设备导致端口状态无法真实反映线路通断的问题,提出通过脚本执行端到端Ping检测的方案。具体实现包括:1)使用Expect脚本登录设备执行Ping测试并格式化结果;2)通过Shell脚本处理线路信息并生成JSON格式数据;3)配置Zabbix监控系统,创建自动发现规则和监控项原型,实现线路状态的自动监控。该方案适用于专线数量不多但重要的场景,能够有效检测中间有运营商设备的专线线路通断状态,最终在Zabbix中实现可视化的告警展示。

2301_80016499的博客 781

在 ABAP Push Channel 里玩转 Detached Client:用 Attach Handle 把 WebSocket 连接交接给业务逻辑

摘要:本文介绍了ABAP Push Channels (APC)中的Detached Client技术,该技术通过将WebSocket连接建立与后续处理分离,实现更高效的实时通信。核心流程包括创建连接、使用connect_and_detach交接连接、以及通过attach handle重新附着发送消息。文章还探讨了PCP协议和AMC技术在企业级推送场景中的应用,并通过示例代码展示了Detached Client的具体实现方式。这种设计解决了传统轮询的资源浪费问题,特别适用于生产线监控、客服系统等需要服务端主

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2314

js如何用面向对象的思路去编写一个程序

本文主要介绍笔者对于面向对象的代码结构的一点理解 最开始做前端往往是单个功能的做,操作页面某个元素实现某个功能,或者基于某个框架去实现功能,面向对象的结构要么用不到,要么框架已经给出。所以即便是很早就知道js的面向对象,但依然很少去实践,也有很多前端开发人员用不上,因为要么用框架的,要么用别人做好的,因为笔者也经历过前端牛人带着做项目,他就告诉你,哪儿哪儿哪儿写代码能达到什么效果,哪一块

qq_35995419的博客 2981

BUG调试案例一:RK3588+YT8531网络无法PING通调试案例

在使用 RK3588 搭配 YT8531S PHY 芯片进行网络调试时,遇到了“网络无法 Ping 通”的棘手问题。排查了两天,终于找到问题原因。为了避免大家在类似项目中走弯路,也为了加深自己对调试细节的理解,我们特意整理了本次问题的完整排查过程。本篇文章将围绕以下四个方面展开分享: 问题现象&描述 调试过程&分析 问题根源定位 注意事项提醒 举一反三(走两步)

案例文章,高速信号 2336

JavaScript 框架比较:Angular、React、Vue.js

在 Web 开发领域,JavaScript 提供大量技术栈可供选择。其中最典型的三套组合,分别是 MERN、MEAN 和 MEVN。这些首字母相同的选项各自代表不同的技术加工具组合。为了在这些技术栈中做出明智选择,让我们先从核心组件聊起,再对各自前端框架(React、Angular 和 Vue)进行简化比较,考虑到底哪种更符合实际需求。

2403_87487018的博客 1474

基于PyQt5和OpenCV的传统图像分割应用UI程序

主要功能包括:加载和显示图像应用多种图像分割算法调整算法参数保存处理结果。

Henry的博客 472

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【粉丝福利社】循序渐进Vue.js 3.x前端开发实践

在当今的Web开发领域,Vue.js已经成为不可或缺的一部分,它以轻量级、高性能和易上手著称。对于前端开发者而言,掌握Vue.js不仅是提升技能的需要,更是职业发展的要求。本书正是为了满足这样的需求而编写的。本书以一个拥有近十年前端开发经验的一线“老司机”的视角,以帮助读者掌握企业级开发技能为主旨,既详细介绍了Vue.js的基本概念和应用,又深入探讨了其背后的原理和最佳实践,力求能使读者边学边练,快速且扎实地掌握Vue.js框架的方方面面,并且真正可以使用它开发出商业级别的应用程序。本书内容。

愚公智库 15万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

零基础如何学 Web 前端开发

今天是2021年7月的最后一天,也是一个美好的周六啊,本来我是不打算发文的,毕竟难得有一个好的休息天,让自己忙碌的一周身心放松下来,打打游戏,看看小姐姐不香吗。但是呢,就是有一些可爱的小伙伴私聊问我,零基础如何学 Web 前端开发,有什么建议,指导一下。这可难为我了,说实话这种建议还真不敢说,因为建议好了就把人带到了正确道路了,建议差了就是误人子弟。但是呢,既然问了,那就把我这么多年的个人阅历经验说一下,个人建议,仅供参考! 回答这个问题我不会给你讲一些不切实际的定义或者前端历史,或者一些你看不懂听不懂的玄

BOM485480的博客 5522

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

前端开发规范

编写背景:当前项目前端开发过程中,每个人有不同的编码风格,这就导致同一个模块不同人开发时可能产生阅读不方便的情况,这对于项目的长久开发是不利的,所以编写这套前端开发规范。编写目的:避免开发者因为查阅、修改其他同事编写的模块时会遇到阅读困难和疑问。让开发者专心编写逻辑代码,不需要考虑由于格式、注释、文件命名等可能产生的问题。

qq_44476779的博客 2668

面向UI编程:ui.js 1.0 粗糙版本发布,分布式开发+容器化+组件化+配置化框架,从无到有的艰难创造

时隔第一次被UI思路激励,到现在1.0的粗糙版本发布,掐指一算整整半年了。半年之间,有些细节不断推翻重做,再推翻再重做。时隔今日,终于能先出来个东西了,这个版本很粗糙,主体功能大概能实现了,但是还是有很多很多的问题。不过有问题没事,可以进行修改完善,这是相对轻松的问题,最艰难的从无到有的创造才是最艰难的。好了,不废话了,我们直接进入正题 --- UI.js功能介绍。   首先介绍几个概念

jthnfldx的专栏 515

vue.js + element-ui入门开发,思路引领

作为一名java程序员, 最近由于工作上的需要, 从事了2个月的前端开发, 今天写下自己的心得, 整理一下这方面的知识。 准备工作: 0:感想: 前端技术变化很快,以前只涉及过js,jquery这些技术,都是一些html静态页面,vue.js采用虚拟DOM技术,开发效率更高, 还可以进行debug调试, 不局限于是Google调试,有助于开发。 1: 对比vue.js 和jquery ...

huangchongwen的专栏 1414
上一篇: 最值得研究的开源框架:来自百度的71款开源项目
下一篇: 微信小程序支付组件开发实战
caiqicehua
博客等级 码龄10年 153粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值