热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WebVSNative–LinkedIn做出的选择:iPadApp95%使用HTML5开发

JolieO’Dell是VentureBeat的记者。LinkedIniPad版本应用其中的95%使用HTML5开发,这在业内激起千层浪,下面是VentureBeat记者对L
       Jolie O’Dell 是VentureBeat的记者。LinkedIn iPad版本应用其中的95%使用HTML5开发,这在业内激起千层浪,下面是VentureBeat记者对LinkedIn移动开发团队主管Kiran Prasad进行的采访。
 

Web <wbr>VS <wbr>Native–LinkedIn做出的选择:iPad <wbr>App95%使用HTML5开发

 
       首先,我们请读者们先试着猜一下LinkedIn为新iPad开发的应用中的移动Web技术占到多大的比例。
 
       接下来–再猜。最近我们发现让读者猜猜看带来了很多的乐趣。他们的答案从40%–70%不等,但是没有一个人接近真正的真实的数字—95%。
 
       事实上,在整个LinkedIn iPad应用中,只有屏幕界面是基于iPad本机系统开发的,剩下的部分全部采用采用HTML5的移动Web技术进行开发,依托浏览器运行,深度拥抱Node.js。
 
       当从Kiran Prasad,LinkedIn移动开发团队负责人,口中得知该消息时,我们在震惊之余,也表示理解—Prasad深受其近期参与开发的一系列移动App的影响,这些App都高度依赖于移动Web。
 
       在初次采访的过程中,这款new iPad App的确给了我们非常棒的体验,因此,我们需要近一步了解究竟Prasad和4个团队成员(没错,的确只有4个成员参与了开发该App)。
 
       硅谷科技公司特别把这个案例用于Web VS Native之战中,我们很高兴看到看似保守的LinkedIn会倾向于更先进的移动技术。虽然他们在选择这个立场过程中颇费了些周折。LinkedIn是现下移动Web最大的拥护者之一,同时也是最强大的研究个案。
 
       LinkedIn和移动Web技术
 
       “去年,当时我们同时着手开发3个不同的手机App。我们开始加大对HTML5的投资”Prasad对VentureBeat采访作此回应。
 
       我们使用HTML5技术开发的软件占我们开发总软件数的百分之60.
 
       当时,LinkedIn的最大看点是它是如何把Node.js技术运用到它一系列的移动App中的—这对于公司来说似乎是个非常大的赌注。另外一个非常重要的问题是,Prasad和他的团队如何把本机和移动Web技术结合在一起运用到iPhone和Android App中,创建出混合式App,在一定程度上弥补了本机VS Web之间的分歧?
 
       Prasad说,公司前所未有地依赖于移动Web技术,“因为我们在这方面做了充分的投资,而且,事实证明开发平板端的移动Web App是可行的”
 
       当然,极力提升开发性能是很大的看点,但是Prasad说这不能牺牲美观的外形和响应功能作为代价。
 
       “我们一直把用户体验和App的响应速度放在第一位”,Prasad告诉我们“如果性能达不到要求,那我们开发Web App的意义何在呢?”
 
       “iPad拥有更强劲的处理器,功能更强大。我们认为,开发基于Web的iPad App会拥有我们的期待的更好的性能。”
 
       Prasad继续说,这都可以归结为一些小事情:手指触摸屏幕后能够达到按压屏幕上按钮同时迅速返回同样的效果?是否能够实现迅速的屏幕滚动?淡入淡出功能能否做到自然而没有任何滞后的效果?
 
       “我们对用户进行了调研,我不认为用户能够觉察到有什么不同。没有人说,“这是一个本机App”或者“这是一个Web App”Prasad说。“只要我们可以提升App的响应速度,没有人会觉察到其中的变化。”
 
       上面所提及的性能问题,都可以通过移除一些不必要的设计要素来实现—比如说圆角和无处不在的渐变效果。通过实现简洁、干净、平滑和类似杂志刊物的外形,LinkedIn这款App速度会更快,效果也会更好。
 
       “我们专注于简洁的设计,这帮助我们提升了App的运行速度。这是个非常棒的反馈回路”Prasad如是说。
 
       LinkedIn更多依赖于Node.Js技术进行开发
 
       公司加大了对移动Web技术的投资,Prasad更有信心使用Node.js进行开发。
 
       “我们仍然使用Node技术进行开发。我们很高兴看到它的使用范围更加广泛了。”他说。“在过去的几个月中,基于我们的性能的提升,我们可以更大范围地使用Node技术。我们现在处理负载的能力比原来提升了20倍。”
 
       据Prasad说,公司原来使用的是nginx,一个开源的Web服务器,和一个反向的代理服务器,由于工程组关心Node的稳定性。“这样会更加保险,如果任何一个Node崩溃,Ngnix会报告错误。”
 
       现在,Prasad感觉不再需要这种保险措施,“在平板电脑的服务器版本中,我们仍然使用Node,但是,现在客户端可以直接通过负载平衡点访问Node,不再需要Nginx。”
 
       团队除了提升这种技术性能之外,还促进了Node工具正在生长的生态系统做出了贡献—将Node工具开源。
 
       Kiran Prasad 说,“其中我们改进了一些Node的模块,之后将会在社区中以开源形式放出,另外一些则是针对特定的应用。总的来说,Node工具变得更好了 。
 
       “响应式设计”并不总是能够发挥作用
 
       访谈最后,Prasad谈到了移动App的新的趋势:响应式设计
 
       响应式设计的核心思想是设计者/开发者通过一次单一的设计可以将其运用到其它设备中,笔记本电脑,平板电脑,电视,手机等。很多拥护者非常推崇这个解决方案,可以为大量的有连接的设备提供解决方案,这些拥护者成立了公司,并开发了工具,旨在使响应式设计更加简便,速度也更快。
 
       但是Prasad认为这种观念是错误的,响应式设计可以为不复杂、一次性的网站提供解决方案,对于应用或网络来说,响应式设计根本派不上用场。
 
       “我们来看一下“entrenched”(桌面版),coffee-and-cough(平板电脑版),two-minutes(手机版)”Prasad说,简言之,用户可以通过几种方式进行数字信息交互,它们各自的发展前景不一样,用户对他们的需求也是不一样的。
 
       “你可以把一个移动App,转换成平板电脑版本和桌面版”Prasad如是说,“许多响应式设计都是创建了一个站点,可以将其任意移植,这个方案对网站来说十分奏效,但是对于App来说,又是另当别论了……你需要为这些用例想出一种完全不同的设计。
 
 
转自HTML5中国网站:http://www.html5cn.org/article-2720-1.html

推荐阅读
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • 题目 E. DeadLee:思维导图与拓扑结构的深度解析问题描述:给定 n 种食物,每种食物的数量由 wi 表示。同时,有 m 位朋友,每位朋友喜欢两种特定的食物 x 和 y。目标是通过合理分配食物,使尽可能多的朋友感到满意。本文将通过思维导图和拓扑排序的方法,对这一问题进行深入分析和求解。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 短信验证码安全性堪忧,多因素认证或成未来主流
    短信验证码安全性堪忧,多因素认证或成未来主流 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 如何在系统设置中找到高级配置选项 ... [详细]
  • 深入解析HTTP网络请求API:从基础到进阶的全面指南
    本文全面解析了HTTP网络请求API,从基础到进阶,详细介绍了Android平台上的两种原生API——HttpUrlConnection和HttpClient。这两种API通过对底层Socket的封装,提供了高效、灵活的网络通信功能。文章不仅涵盖了基本的使用方法,还深入探讨了性能优化、错误处理和安全性等方面的高级主题,帮助开发者更好地理解和应用这些工具。 ... [详细]
  • 深入对话上海视九叶文鑫:HTML5技术引领智能电视新趋势
    深入对话上海视九叶文鑫:HTML5技术引领智能电视新趋势 ... [详细]
  • Docker镜像加载优化:开发者的高效实践指南
    Docker镜像加载优化:开发者的高效实践指南 ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
author-avatar
mobiledu2502923573
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有