上篇介绍了我们电力项目的基本情况,我们选用HTML5技术还是顶着很大压力,毕竟HTML5技术性能行不行,浏览器兼容性会不会有问题,这些在项目选型阶段还是充满疑惑,项目做到现在终于快收尾了我们才敢松口气,压力基本顶住了,我个人总结的经验是:HTML5性能肯定不是最高,但对企业应用足够高效,HTML5标准不可能所有浏览器都一致实现,但对于企业应用已经足够工作。选择正确的引擎框架,进行合理的设计才是关键,HTML5真的已经Ready!

选择HTML5除了看中JavaScript动态语言的灵活性,能够很好的和其他异构系统融合到页面外,HTML5的跨平台性也是我们看中的重要原因,以前PC桌面应用上采用Flex和Silverlight到是可以跨平台,但如今的系统还不能上移动终端实在就说不过去了,而Flex和SL在跨移动终端方面就卡壳了,虽然有AIR可以导成native app应用,但还是远不如HTML5纯页面来的高效,每次修改任何东西PC上都可以模拟测试,看看Chrome DevTools for Mobile越来越屌爆的Screencast and Emulation功能:

我现在测试移动终端大部分情况都不需要用真机,当PC上模拟测试得差不多后再进行真机测试基本都能一次性通过,回想以前用Flex的AIR进行转换Native App真是浪费生命,每次测试我都要刷几条微博消磨难熬的等待时间,上一次项目我们团队也分为Android和iOS两个完全采用独立Native开发方式,但也存在版本发布不一致,应用体验不一样,包括很多业务逻辑代码本可以复用的但由于Java和ObjectiveC的差异,搞得我们非得写两套一样逻辑的代码,其中加密的部分还得费劲的用C++实现了一个统一的实现,然后再有Java和OC分别去调用C++的代码,总之系统越搞越复杂,团队需要的人越来越多,当然我们经验不足也是一个原因,但我们毕竟是做企业应用搞项目的,不过可能有资源像BAT那些移动互联网巨头去慢慢融合摸索经验,我们除了这些基础技术外,还有学习很多电力业务,还得和硬件打交道,学习各种电力规约协议,扯淡了这么多你应该明白我们现在成功的使用了HTML5一个js语言就能跨所有平台之爽。

项目初期我们团队在选型初期对3D建模进行了一定的研究,传统的3D引擎一般只提供后期三维模型的渲染呈现,并不提供3D建模的解决方案,本以为还需要招聘专业的3DMax或Maya三维建模设计师,因为我们目前的美工设计师只会ps,但HT提供了一套完全基于HTML5的3D设计编辑工具,别说只会ps的美工设计师,其实后续项目的大部分3D场景我们程序员都参与了设计。

完全基于HTML5的设计器这点还是挺让我佩服的,虽然大家都在转型到HTML5但还很少有做得彻底的,如Google Web DesignerAdobe Edge Tools这些巨头的产物,包括Sencha Architect折腾了很长时间又走回Qt的路线,我实在不看好这些还不采用HTML5做设计器的路线,这时代HTML5已经足够强大,JS虚拟机的性能如V8也足够高效,数据直接云存储就可以,如果需要本地功能采用Node-Webkit也是很不错的方案。以前我们团队常用Qt或Java Swing来写些小工具,我发现这个项目历练之后Node-Webkit的技术方案成了大家些写工具应用的首选。

以下为几张运行系统抓图,以及这些系统图在编辑器内编辑的过程抓图

基于HTML5技术的电力3D监控应用(二)的更多相关文章

  1. 基于HTML5技术的电力3D监控应用(一)

    最近参与了国网计量中心的四线一库自动化检定系统的项目开发,团队封闭开发了大半年终于快到尾声了,整个项目过程实在非常累,我的mentor杨杨老师是这样描述的:累的不想说话了.我估计是我太渴望新知识,整天 ...

  2. 基于HTML5技术的电力3D监控应用(三)

    继(一)和(二)之后不少,不少网友问我移动终端的使用问题,因为我们项目这次采用Android平板终端,所以我对这方面有点肤浅的研究,这篇分享些项目经验总结,希望对大家有所帮助. 电力3D项目去年底刚立 ...

  3. 基于HTML5技术的电力3D监控应用(四)

    回答了知乎问题较长,一些使用WebGL的经验,作为新的一篇: 正好逛到这个问题,正好是2013年底,正好最近基于的HT for Web 3D做的电力项目收尾,正好用到的就是WebGL技术,因此说说自己 ...

  4. 基于 HTML5 的 WebGL 自定义 3D 摄像头监控模型

    前言 随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的同时,在监控系统中面临着严峻的现状问 ...

  5. 基于 HTML5 WebGL 的加油站 3D 可视化监控

    前言 随着数字化,工业互联网,物联网的发展,我国加油站正向有人值守,无人操作,远程控制的方向发展,传统的人工巡查方式逐渐转变为以自动化控制为主的在线监控方式,即采用数据采集与监控系统 SCADA.SC ...

  6. 基于 HTML5 WebGL 的地铁站 3D 可视化系统

    前言 工业互联网,物联网,可视化等名词在我们现在信息化的大背景下已经是耳熟能详,日常生活的交通,出行,吃穿等可能都可以用信息化的方式来为我们表达,在传统的可视化监控领域,一般都是基于 Web SCAD ...

  7. 基于 HTML5 WebGL 的挖掘机 3D 可视化应用

    前言 在工业互联网以及物联网的影响下,人们对于机械的管理,机械的可视化,机械的操作可视化提出了更高的要求.如何在一个系统中完整的显示机械的运行情况,机械的运行轨迹,或者机械的机械动作显得尤为的重要,因 ...

  8. 基于HTML5 WebGL的工业化3D电子围栏

    前言 现代工业化的推进在极大加速现代化进程的同时也带来的相应的安全隐患,在传统的可视化监控领域,一般都是基于 Web SCADA 的前端技术来实现 2D 可视化监控,本系统采用 Hightopo 的 ...

  9. B/S 端基于 HTML5 + WebGL 的 VR 3D 机房数据中心可视化

    前言 在 3D 机房数据中心可视化应用中,随着视频监控联网系统的不断普及和发展, 网络摄像机更多的应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用. 在监控摄像机数量的不断庞大的 ...

随机推荐

  1. 使用Roboguice依赖注入规划Android项目

    前言 好久没写博客了,罪过啊-记事本里累积了不少东西,整理整理放上来. 关于依赖注入 Dependency Injection( 依赖注入)可以很好的帮助我们分离模块,降低耦合.提高可测试性.(PS: ...

  2. 如何在ASP.NET 5上搭建基于TypeScript的Angular2项目

    一.前言 就在上月,公司的一个同事建议当前的前端全面改用AngularJs进行开发,而我们采用的就是ASP.NET 5项目,原本我的计划是采用TypeScript直接进行Angular2开发.所以借用 ...

  3. 《你必须知道的.NET》读书笔记:方法表初窥

    一.窥探准备工作 public class Base { public void M() { Console.WriteLine("M in Base"); } public vi ...

  4. [专业名词·硬件] 2、DC\DC、LDO电源稳压基本常识(包含基本原理、高效率模块设计、常见问题、基于nRF51822电源管理模块分析等)·长文

    综述先看这里 第一节的1.1简单介绍了DC/DC是什么: 第二节是关于DC/DC的常见的疑问答疑,非常实用: 第三节是针对nRF51822这款芯片电源管理部分的DC/DC.LDO.1.8的详细分析,对 ...

  5. js里slice,substr和substring的区别

    概要: string.slice(start, end)提取一个字符串 string.substring(start, end)提取一个字符串,end不支持负数 string.substr(start ...

  6. 如何实现 Android 应用的持续部署?

    构建一个高质量的 Android 应用 最大的挑战是什么? 在整个开发流程中,也许 Coding 时莫名的 bug,也许是 Android 开发兼容性问题,多版本多渠道自动打包问题,也有开发工具选择等 ...

  7. salesforce 零基础学习(三十二)通过Streams和DOM方式读写XML

    有的时候我们需要对XML进行读写操作,常用的XML操作主要有Streams和DOM方式. 一.Streams方式 Streams常用到的类主要有两个XmlStreamReader 以及XmlStrea ...

  8. Android 图片文件操作、屏幕相关、.9图片的理解

     一:Android图片操作 1.存储bitmap到本地文件系统 public static void bitmapToFile(Bitmap bitmap, String uri) { if(!ex ...

  9. mysql修改密码

    mysql修改password >mysqladmin -u root -p password newpassword 就这么简单

  10. KnockoutJS 3.X API 第四章 数据绑定(2) 控制流foreach绑定

    foreach绑定 foreach绑定主要用于循环展示监控数组属性中的每一个元素,一般用于table标签中 假设你有一个监控属性数组,每当您添加,删除或重新排序数组项时,绑定将有效地更新UI的DOM- ...