ntv.js框架开源的目的

2023-12-12 13:10
文章标签 js 框架 开源 目的 ntv

本文主要是介绍ntv.js框架开源的目的,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1. 如何来兼容不同厂商的规范?

      在东方有线(OCN)网内有众多不同厂商的机顶盒,各厂商均有自己的机顶盒中间件规范。其中按中间件规范可分为3种分别是iPanel、SHDV、NGB-H。不同的规范定义导致了机顶盒应用在开发同一功能时需要同时使用3种规范定义的接口代码。(接口总api个数均在100+)

     网内高达95%的第三方应用开发商多采用以2种方式来处理,方式1:业务代码与接口代码耦合在一起来处理应用的功能逻辑。方式2:单独将接口代码写在一个文件中,业务代码按不同接口进行调用,来完成页面功能逻辑。这些方式直接导致的问题就是业务与接口代码耦合和脚本文件过长难以扩展和维护。

2. 机顶盒应用脚本调试难的问题

    新入门的应用开发者,面对的第一个问题就是调试难的问题。

    机顶盒浏览同PC浏览器一样支持javascript的alert()函数,但是使用alert()去调试代码非常浪费时间与精力,而且部分机顶盒在调用alert()后会出现死机现象。一般在pc浏览器的做法是采用console.log()或直接开启调试模式,但在机顶盒上这些都无法使用。

3. 厂商中间件内核不一与中间件软件版本众多的问题

   由于不同厂商采用的中间件浏览器的内核不一样,导致类似与PC平台上webkit与IE的相同问题,常见的问题就是CSS显示不一致的问题。这些问题不同于PC平台上已知的问题,而是需要开发者逐步实验得出的结果。    

   另一个问题,中间件也是逐步升级和完善的过程,导致了网内同一款中间件同时存在多种软件版本,对开发来说直接导致的问题就是同一种规范的代码在不同软件版本的机顶盒上会出现无效的情况。而这些问题也是需要开发者逐步实验得出的结果。



ntv.js框架是如何解决上述问题的?

1. 框架将接口代码进行统一封装,在使用过程中对于开发者来说3种规范使用同一接口。

2. 框架按功能和接口进行了划分,让之后的功能扩展及维护更容易。

3. 框架集成了调试模式、常用函数工具类、特效插件和机顶盒特殊处理类。

4. 最重要的,框架累计了厂商不同中间版本的已知bug及特殊问题,对于新开发者来说就是经验值。


ntv.js框架的开源目的?

      正如上面提到诸多问题,为了节省新入门开发者的时间与重复工作量,同时将开发者的焦点集中在应用业务实现上。也希望更多同行的开发者加入框架的代码积与完善及改进方面的考虑。

      编写高质、高效、丰富的机顶盒应用。


在之后的文章中将逐步对机顶盒的开发经验与框架的所有部分进行详细的说明。


转载于:https://my.oschina.net/cotonchen/blog/370062

这篇关于ntv.js框架开源的目的的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/484764

相关文章

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏