继(一)和(二)之后不少,不少网友问移动终端的使用问题,因为我们项目这次采用Android平板终端,所以我对这方面有点肤浅的研究,这篇分享些项目经验总结,希望对大家有所帮助。
电力3D项目去年底立项时仅仅是PC浏览器的3D展示要求,后来慢慢增加了要求也能在平板上运行,因为我们的系统大部分是内网的,不可能要求移动终端得上app store去下载应用程序,虽然apple也提供企业内部发布的解决方案,但还是远不如android安装app方便,对于企业应用三天两头就需要改动需求,我们的发布非常频繁,所以最终移动端选型采用Android的方案。
还好Google挺给力今年初提供了Android浏览器WebGL的解决方案:Google finally makes it easy to enable WebGL support in latest Chrome for Android 当然如今哪怕没有Chrome,Firefox和Opera等众多移动浏览器也都支持WebGL了,而且Firefox和Opera都不需要设置开启WebGL开关了,而且手机上的Chrome还得通过在URL输入chrome:flags,然后开启Enable WebGL才可以
手机我用的Nexus 5测试的,而平板我用Nexus 7第二代测试的,Nexus 7到手感觉还是很轻很好用,预装的操作系统还不是最新的,不过已经可以升级到Android 4.4.2 (KitKat)版本了,我更新了Chrome Android31速度还是明显很快速。
Nexus手机直接可以传送文件,平板则需要安装Android File Transfer软件,这没什么最让我震惊的是在这里,我调试时发现平板上没有“Developer options”选型了,没有这个选型我就没法用通过PC进行USB Debugging了,查了半天资料How to enable developer settings on Android 4.2,居然通过点击“Build number”的栏目七次才会出现,Google这些工程师真是Geek啊。
Here's how to get them back:
- Go to the settings menu, and scroll down to "About phone." Tap it.
- Scroll down to the bottom again, where you see "Build number." (Your build number may vary from ours here.)
- Tap it seven (7) times. After the third tap, you'll see a playful dialog that says you're four taps away from being a developer. (If only it were that simple, eh?) Keep on tapping, and *poof*, you've got the developer settings back.
最开始我们也考虑过用WebView打包apk的方式,但遇到了不少麻烦大部分WebView和独立安装的Chrome app并不贡献内核,google走了两条路,WebView有套自己的WebKit版本,外面的Chrome app走自己的WebKit版本,而且WebView的版本不用说肯定是相当古老的,因此别说WebGL连Canvas的支持我们都遇到很多坑,这方面还好引擎已经帮我们绕开了很多坑。
当然Google不会止步不前,最新的KitKat已经将WebView升级到了Chrome for Android的30版本,这个版本的HTML5功能对大部分应用来说也算足够了 ,当然后续WebView要是也能自动升级就好了,这个还得等...
What version of Chrome is it based on?
The WebView shipped with Android 4.4 (KitKat) is based on the same code as Chrome for Android version 30. The WebView does not have full feature parity with Chrome for Android and is currently given the version number 30.0.0.0.
Will the new WebView auto-update?
Evergreen browsers (like Chrome and Firefox) auto-update and keep their users up to date so they can view the web through a modern feature set. As a developer, this ensures your choices aren’t limited to a lowest-common denominator browser from years ago, but rather are keeping pace with the modern web. Your apps inside a WebView are just as important and deserve a runtime that keeps users up to date. There are large engineering and logistical challenges. We're not quite there yet, but we're working on it.
当然我们的项目是不能等的,我们最终采用页面的方式实施,不再考虑WebView的路线,当然也不用折腾学习Android的Native开发了,早些年我还挺喜欢捣鼓各种新技术,但现在感觉很多情况是浪费精力,从早期的MFC和Qt,到Swing和SWT,到Flex和Silverlight,GUI的技术发展除了设计模式从MVC到MVP到MVVM有所创新外,组件的设计和使用的路线这些年大同小异,不同的平台都要去学习他们的各种千奇百怪的API接口,都要从头到尾学一套如何layout布局,如果使用button和menu小组件,再到tree和table这些大组件,已经没有什么新鲜玩意儿。
这地球上现在就没几家还在好好设计GUI组件的了,你看看Swing已经被sun废了,Oracle搞的JavaFx还是有点动静但也就他们自娱自乐的那个小圈子内,有兴趣你可以关组这里http://fxexperience.com/,Flash跨平台还不错,但Flex俨然是Adobe的鸡肋,他们考工具和FlashVM的游戏生态链活着,而Flex这个不带来直接价值的企业应用圈子似乎一直不是Adobe看中的,一个树表AdvancedDataGrid从Flex3折腾到Flex4依然像玩具一样的低效,我还看到Flex3实现者在blog上,嘲笑Flex4对AdvancedDataGrid的重新实现的团队设计上的不满,Silverlight和WPF就不用多费我口舌了,除了C#语言还是不错有创新外,SL和WPF整得那套MVVM我估计大部分用了多年SL和WPF的程序员也没几个能搞得明白Dependency Properties去独立设计一个自己的小控件,MVVM被实现得如此难用也实属罕见。
所以我现在感觉自己也挺懒了,不再像以前每个新技术一出现就要马上搞一堆书啃,Android的Native开发我一直没去好好学,iOS方面倒是对XCode的设计器的可视化挺感兴趣,所以几年前尝尝鲜研究过一阵,但现在我搞些小工具我还是用古老的Cocoa来开发,我感觉Cocoa的binding和可视化的功能虽然一二十年没变过,但也足以完胜如今的很多GUI框架,大部分情况我就基于HTML5的组件来用了,我有时候会用Node-WebKit加HT组件的方式来实现Native的小工具。
如今调试Android也非常方便了,看看Remote Debugging Chrome on Android 现在直接用PC就可以实时调试真机,最重要的是你的眼睛可以盯着PC屏幕就行,选中操作和inspect element这些操作都接在PC屏幕上搞定,对我来说我最舒服的就是在用不用痛苦的手工在手机上输入URL了,直接在PC上输入即可。
至于WebGL的调试,其实和Native的OpenGL调试一样,一直多年来都是世界难题,毕竟GPU多核的并非工作是很难采用传统线程或者GUI这种单线程的方式那么容易Debug,这点上浏览器最近也是有不少改进WebGL Debugging and Profiling Tools,当然我不是WebGL专家我在HT再封装了WebGL基础上采用面对对象的方式操作JS,所以这种文章我也就过过眼瘾罢了
最近项目快结束了,局方领导居然看我很爽,说我这大半年天天熬夜在现场,作为奖励把本用于上线实施的Nexus 7送给了我,我们商务大为羡慕我这小程序员居然能得打局方的赏赐,这大半年一直奔波于昌平和市区之间,北京的同学一定知道我有多痛苦,这个鸟都不来的昌平每天加班回家只能做黑地,以前在上地晚上没赶上班车也得做黑地,但至少还能看到如百度大厦之类的IT人士也都和我们以前点着灯在加班,而在昌平是一片的漆黑,只有被拆迁的村民留下了的快倒塌的房子,每次路过我总在想如果有一间是我的政府陪我几套房这辈子也就解放了,现在我就不这么想了,每天抱着平板下班前先下载下离线的36kr和iFanr的文章,虽然现在搞to B,但也关注者移动互联网的发展,哥也不是高富帅,不再想以前在昌平线和13号线的阅读USA Today和NYTimes文章装逼给妹子看,哥就是程序员,哥玩的就是程序,哥没房有Pad,就在地铁上好好学习。
相关推荐
在基于HTML5的移动船舶监控应用研究中,我们主要关注的是如何利用这项技术实现跨平台的应用开发,以适应移动互联网的发展趋势。HTML5不仅改进了对多媒体的支持,如音频、视频和图像,还引入了离线存储、拖放功能、 ...
大数据技术在视频监控应用中的探讨主要涉及以下几个方面: 1. 大数据技术的重要性:文章指出,随着我国社会经济的快速发展,大数据技术开始在民众生活及社会生产中发挥越来越重要的作用。然而,我国视频监控领域对...
本文主要探讨了物联网技术在电力智能监控系统中的具体应用和设计,以及如何通过这些技术提高电力系统的监控效率和安全性。 首先,智能监控系统的构建是物联网技术应用的核心。在电力系统中,智能监控主要通过三个...
基于物联网技术的电力重点物资运输监控应用研究.pdf
HTML5 是一种强大的 web 开发技术,它在网页...通过这样的方式,HTML5 和 Canvas 结合 JTopo 等绘图库,能够在网页上实现灵活且功能丰富的电力或电信行业的拓扑图应用,帮助工程师进行系统监控、故障排查和网络规划。
云计算技术的应用使得电力视频监控系统变得更为高效、智能和稳定,有效地支持了电力体系的正常运行,并对故障诊断和处理提供了新的解决途径。通过建立云计算平台,实现了监控信息和管理系统的实时共享和交互,工作...
《基于物联网技术的电力重点物资运输监控应用研究》是一篇深入探讨如何利用物联网技术优化电力行业重点物资运输管理的研究报告。物联网(Internet of Things, IoT)是近年来信息技术领域的一个重要发展方向,它通过...
IEC60870-5-104规约是一种用于电力系统自动化领域的通信协议标准,被广泛应用于分布式电力监控系统中。在电网调度中心的通信要求中,高数据容量和高速率数据通信是关键指标,而IEC60870-5-104规约正是为了满足这一...
本文对低压电力线通信技术进行了深入研究,探讨了其在监控系统中的应用可行性。作者首先概述了PLC的理论基础和当前的工业应用状况,展示了该技术在电力市场和相关业务中的潜力。接着,通过对实际测量数据的分析,...
基于工业以太网的煤矿电力监控系统是针对煤矿电力供应的特殊要求而设计的监控系统。它的应用目标是实现煤矿供电系统的自动化、智能化监控,以提高煤矿的生产效率,降低人力成本和安全生产风险。该系统的组成包含以下...
在本文中,我们将深入探讨HTML5、WebGL以及3D技术在仓储管理系统中的应用。 HTML5是超文本标记语言(Hypertext Markup Language)的第五个版本,它在传统HTML的基础上增加了许多新特性,如离线存储、拖放功能、媒体...
文章主要讨论了基于PLC(可编程逻辑控制器)技术的水利自动化监控系统的设计与应用,涵盖了PLC技术的简介、水利自动化监控系统的设计和应用以及PLC技术在水利自动化监控系统中的发展现状。 1. PLC技术简介: PLC...
本文档提供了基于网络安全管理平台的电力监控系统在网络安全应用方面的实践案例,并从功能介绍、典型设备接入和网络安全技术应用三个方面进行深入研究。 网络安全管理平台的建设基于C/S架构,运行在安全防护区...
电力监控系统的主要功能模块包括PAS(能量管理系统高级应用)、通信管理、实时监控、报警处理、数据存储、设备管理、统计分析、报表管理、视频联动、3D可视化系统组态、数据库管理、两票管理、Web发布以及手机APP等...
其应用包括太阳能光伏发电技术、电力电子设备在光伏系统中的应用、稳定电压和电流的输出、提高太阳能光伏发电的效率和系统的控制和监控等。 电力电子技术在太阳能发电中的应用还存在一些挑战和问题,如电力电子设备...
大数据时代背景下的电力运营监控数据处理研究涉及众多关键知识点,本篇研究主要集中在对大数据特征的阐述,电力监控数据分析特点的介绍,以及基于大数据处理技术在电力运营监控领域的应用。 首先,大数据的定义与...
#### 三、实时监控技术在电力GIS中的应用 ##### 1. 实时监控的需求 电力系统中存在着众多需要监测的参数,例如电压、电流、温度等。通过实时监控这些参数,可以及时发现并处理故障,确保电力系统的稳定运行。此外,...
"基于OpenPose的自动扶梯智能监控系统应用研究" 本文研究基于OpenPose算法的自动扶梯智能监控系统应用,旨在解决自动扶梯安全事故频繁发生的问题。论文首先介绍了自动扶梯安全监控的重要性,然后详细讲解了OpenPose...
基于物联网技术的电梯远程监控应用探讨.pdf