关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » UI前端 »使用最好技术的不可见成本:AngularJS

    使用最好技术的不可见成本:AngularJS

    2014-09-14 00:00:00 出处:ITJS
    分享

    很多企业家都对使用最好的技术代表着什么存在盲区:他们认为这更像是新技术将提供的功能,需要多长时间完成编码,以及是否值得。

    他们常常忽略了基于公司能力去选择前沿技术的后果,而是雇佣、做 SEO、兼容很多浏览器和集成通用插件。

    我们雇佣的前端工程师建议了 AngularJS,在做了研究之后,发现 Google 支持它,我们决定尝试。Ember.js 貌似太新而没有太多的最新文档,我们听说,即便 Backbone.js 已经非常普遍了,AngularJS 与 Backbone.js 相比,是更加优雅的解决方案。

    这个决定让我们感到高兴,但是我们对于随之而来的、没有预料到的、很多不同问题感到吃惊,在我们首次决定使用 AngularJS 时,并没有小心权衡。下面是你采用 AngularJS 之前应该考虑的一些地方,而实际上适用于任何新的前沿技术。

    1)低版本浏览器

    AngularJS 不支持低于 8 的 IE 版本。目前,我们的网站不支持 IE8 和 IE9,我们仍然在尽量解决中。搞清楚 IE10 当中的 bug 花了不少时间。所有 IE 用户占到了 25% 流量,IE8 和 IE9 大约占到了这部分流量的 80%。还不能使用我们网站的用户是相当多的,严重影响了我们的转化率。

    面向 IE8 和 IE9 这些低版本浏览器编程已经足够困难了,在那些浏览器很少能处理好 CSS 怪异现象的前提下,增加一个新的前沿前端技术也就成了相当巨大的障碍。

    2)SEO

    假如你有完全用 AngularJS 实现的 app,那意味着相当有可能你的源代码只是 JavaScript 文件。Google 还没有找到抓取动态内容的有效方法,假如你不做出一些调整,你可就要倒霉了。

    我们有了存在于 AngularJS SPA(单页应用程序)之外的“混合”页面,它们是 Django(我们在用 Python 框架)里的普通页面,内容是可被爬虫抓取的。这些页面只在一个地方调用了 AngularJS,那就是搜索框,当你搜索的时候,AngularJS 会被调用。

    这意味着我们有必要让一堆附属内容散落在中央 AngularJS 的 app 周围。

    这也意味着在页头和页尾的某些代码需要被复制,因此当我们想增加一个类库或标签时,我们需要在两个地方增加。

    3)Adsense、Clicktale 以及很多类库都不能直接使用了

    Adsense 不能在载入动态内容的网站运行。事实上,做个变通方案,是可以让它成为可能(iFrame 等等)的,但是违反了服务条款(TOS:terms of service)。这意味着,AngularJS 以及使用了 Ajax 的任何东东,都不能直接使用 Adsense 了。

    我稍微休息一会儿:是的,世界上最重要的在线广告领导者还没有找到一种在动态载入内容的网页上呈现广告的简单方法。而 AngularJS 是新兴的、通过 Ajax 载入动态内容的,肯定不可以了,Google 也没有找到有效的解决方案也是让我颇受震动的。

    Adnsense 不能正常运行是因为它要等到 DOM 被构造好以后,才能基于网页内容实例化广告。它是在网页载入完成之后才执行的,但是对于 AngularJS 之类的“单页应用程序”,你从来不需要重新载入一个页面,所有内容都是动态载入的,在“页面”直接实现了无缝切换。

    花了一整天找到的解决方案就是使用 Doubleclick For Publishers【注2】,一个不同的 Google 产品,通过它来载入 Adsense。一旦新的“页面”被载入,我们不得不“刷新”广告区域。这是个小伎俩,却是有效的。

    真的花了好长时间才搞定的。

    与 Clicktale 类似,我们使用软件监视用户会话并找到可用性问题。对于普通网页,你只需一段代码,但是对于我们的网站,我们不得不使用它们的特定 API。

    本来 5 分钟的事情,以色列的技术团队来来回回搞了一周。

    4)程序员

    很多程序员对新技术不了解,因此当雇人的时候,你不会有太多选择。

    在我们发起了重要的合作伙伴关系的那一天,前端程序员离职了,我们才碰到了这个问题。我们招到了某个员工的一个白俄罗斯朋友,他实际上有对 AngularJS 贡献过源代码。他们从他的日程上抽出时间作为对我们的个人支持。但是我们说到的大部分人没有 AngularJS 经验,通常的反应会是“是的,我们正打算学习呢,因为它绝对是未来,但是我们还没有这方面的专家。”

    总结

    总之,在你面临使用 AngularJS 之类的新技术的选择时,你需要考虑的因素有很多,决不仅仅是“它是一个不错的框架”。你需要考虑招到人有多大难度,这个人要了解该框架,像 SEO 之类业务的其它方面的后果、广告集成以及跨浏览器兼容。

    我们对 AngularJS 非常满意,因为我们有资金和时间来开发长期内可持续的功能,不过,它一定不适合每一个人。

    当前沿技术引发的所有潜在复杂问题出现时,做为一家公司,要确信你有能力搞定。

    原文地址:http://davidlitwak.com/the-unseen-cost-of-using-the-best-technology-angularjs 注1:Clicktale 成立于 2006 年,相对于偏统计的流量分析工具,Clicktale 偏向定性,它可以告诉使用者为什么网站转化率上升了,用户体验上升了?而不是简单的流量多少,流量产生时间和流量渠道。主要是因为 Clicktale 能够录制网站访客行为,将访客的一举一动全都录制下来,并且通过播放器完整地展示。除了视频录制,还包括热力图、转化漏斗、表单分析等强大功能。Clicktale 追踪数据的技术属于 Javascript 标记,类似市场上通用的跟踪,例如 Adobe Sitecatalyst, google analytics, 百度统计,CNZZ 等,代码安装非常简单和方便。http://www.clicktale.com 注2:DoubleClick for Publishers (DFP)是 Google 的第三方广告托管解决方案,前身为 Google Ad Manager,集成 DoubleClick 的 DFP 产品之后推出正式的 DFP 系统。https://www.google.com/dfp/
    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。