Atitit 2016 技术趋势与没落技术

目录

1.1. 离线优先Web应用程序(Offline first web applications) 1

1.2. 依照产品而不是项目(products rather than projects)的 思路进行思考。 2

1.3. Postman(getpostman.com/features)是一个在Chrome 中使用的REST客户端插件 2

1.4. PlantUML( 2

1.5. NoPSD运动想要抓住的,是“即时设计”这个在视觉设计中重 要和实用的概念。 3

1.6. “产品优 于项目” 3

1.7. Css bem 3

1.8. HTML5 iFrame来沙盒化 3

1.9. 幂等过滤器 4

1.10. “只积 累”是一种设计策略,数据删除通过撤回而不是更新Accumulate-only data 4

1.11. 双 因素认证。 基于时间的一次性密码(TOTP)是这个领域的标 准算法 4

1.12. Enlive是基于Clojure 的模板框架,她彻底分离程序代码和HTML标记,用CSS选择 器查找并替换文档片段 4

1.13. 。本地存储同步 local storage sync 5

1.14. Jackrabbit 3,是一个可扩展和高性能的层次化内容存储系统, 5

஡వӑԁ఩Ҭ (Text-it-as-a-service) 5

/ 5

1.15. IndexedDB 6

1.16. Nashorn 是一个面向 Java 8 发布的全新 JavaScript 引擎 6

1.17. Retrofit过将一个 REST API 转化为 Java 接口, 6

2. 没落技术 6

2.1. gitflow 6

2.2. Application Servers 46. OSGi 47. SPDY 6

2.3. 团队应该克制他们的互联网级 规模的情结而倾向于简单可行的解决方案。 7

  1. 离线优先Web应用程序(Offline first web applications)

提 供了基于缓存和更新机制来设计 Web 应用离线访问的能力。 它的实现需要在DOM中设定一个标志来检查接入设备是否在 线,离线则访问本地存储,在线则同步数据。现在所有的主 流浏览器都支持离线模式,通过显示的指定 HTML 属性来使 本地信息可访问,同时启动如 HTML,CSS,Javascript 或其 他资源的下载和缓存。当前已经有一些工具使离线优先应用 的实现变的简单,如Hoodie(hood.ie), CouchDB(couchdb.apache.org),不仅如此它们还提供 与本地部署的本地存储应用的集成能力。 大多数软件开发的心智模型都是做项目,在不同的档期内进 行计划、执行和交付。敏捷开发极大的挑战了这种模型,通 过与开发过程同时进行的持续需求发现,代替了预先的需求 确定。精益创业的技术,如观察需求的A/B测试 (martinfowler.com/bliki/ObservedRequirement.html), 进一步削弱了这种心态。我们认为,大多数的软件开发工作 应该遵循精益企业的引领(info.thoughtworks.com/leanenterprise-book.html),将自己定义为构建支持业务流程 的产品。这样的产品并没有所谓的最终交付,更多的是一个 探索如何更好的支持和优化业务流程的过程,只要业务依然 有价值就会不断持续下去。基于这些理由,我们提倡企业组 织

  1. 依照产品而不是项目(products rather than projects)的 思路进行思考。
  2. Postman(getpostman.com/features)是一个在Chrome 中使用的REST客户端插件

,通过Postman,你可以创 建请求并且分析服务器端返回的信息。这个工具在开发新 的 API或者实现对于已有API的客户端访问代码时非常有 用。Postman支持OAuth1和OAuth2,并且对于返回的 JSON和XML数据都会进行排版。通过使用Postman,你可 以查看你通过Postman之前发起过的请求,并且可以非常 友好的编辑测试数据去测试API在不同请求下的返回。同 时,虽然我们不鼓励录屏式的测试方法,但是Postman提 供了一系列的拓展允许我们将它作为跑测试的工具。

  1. PlantUML(

在我们的经验中,相比其他办法而言,通过在一开始创建大 量详尽的设计图表来开发软件系统,并不是什么好的选择。 但用图表来表达系统中格外复杂和难懂的部分却往往是个好 的想法,何况UML本身也已经提供了若干实用的、众所周知 的图表。我们喜欢用PlantUML(plantuml.sourceforge.net) 来创建这些图表,因为它让我们以清晰的文字形式来表达图 表背后的意图,而不用再去摆弄那些“过度”的图形化工具。 同时,文字形式的表达方式还支持版本管理,并且可以和源 代码存放在一起。

  1. NoPSD运动想要抓住的,是“即时设计”这个在视觉设计中重 要和实用的概念。

你不需要预先设计好整个应用程序或者每一个 界面元素,而是使用尽可能轻量的工具按需设计。我们已经看到 简单易学的工具被更多的使用,比方说Sketch,纸和笔也同样 有更多回归的趋势(尤其是与一个现有强大的数字风格指南配 合使用的时候)。由于为屏幕设计时平面模型的限制,使用类 似于Invision、FramerJS和Origam这样的工具,或者是简单的 HTML/CSS加上一点Javascript来创造不同的保真效果的原型, 也已经成为沟通设计意图时逐渐常见的很有用的方式。

  1. “产品优 于项目”

我们长期坚信将软件开发看做一个项目(即在有限的时间和预算 内交付一些东西)的观点并不适合现代的商业模式了。软件开发 的主要努力应该用在使软件成为一个支撑和反思业务并持续演进 的产品。在其所支撑的业务失效以前,这样的努力都不应停止。 根据我们在自己以及外部项目中的观察,我们确信这种“产品优 于项目”的方法对除特殊情况外的所有情况都有效

  1. Css bem

调试CSS问题是非常痛苦的,有多少次你不得不从成千上万的 样式覆盖中找出问题所在。为减少这种痛楚,很多团队引入了各 种各样的代码规范(guidelines),比如避免级联与覆盖,使用真 正需要的(opt-in)样式,并强调有意义的命名。BEM(代表Block, Element,Modifier)是一种简明的CSS命名规范,它能把你的 CSS变得更语义化和结构化。通过使用BEM,可以更容易的理 解CSS规则是怎么影响一个元素的,并且更重要的是理解CSS规

  1.  HTML5 iFrame来沙盒化

现代的网页往往含有过多的来自第三方的JavaScript部件和代码 片段,这对安全和性能都会产生负面影响。虽然我们仍在等待基 于Web组件的JavaScript完全隔离方案,我们的团队已经从使用 HTML5 iFrame来沙盒化不可信的JavaScript中受益匪浅。

  1. 幂等过滤器

现在有很多服务,尤其是传统的服务,在编写时都假设请求仅会 发生一次。做为网络本身而言,这很难保证。幂等过滤器是个简 单的组件,他通过检查重复请求并保证发给服务器的请求只有一 技术 接上页 次。过滤器应当做为装饰器叠加在现有的服务调用上,并且它应 该仅做这一件事情。

  1. “只积 累”是一种设计策略,数据删除通过撤回而不是更新Accumulate-only data

不可变的数据结构正在变得越来越受欢迎,函数式语言,如 Clojure 和 Scala 默认就提供不变性。不变性使得代码更容易编 写、阅读和理解。在数据库层,采用“只积累”的数据存储也给 予了一些同样的好处,并且使审计和历史查询更为简单。实现 © November 2015, ThoughtWorks, Inc. All Rights Reserved. TECHNOLOGY RADAR NOVEMBER 2015 | 7 技术 接上页 选择各不相同,从使用 Datomic 这样特定的积累数据存储,到 在传统数据库中采用简单的“只追加,不更新”的手段。“只积 累”是一种设计策略,数据删除通过撤回而不是更新,而“只增 加”只是一种具体的实现技术

  1. 双 因素认证。 基于时间的一次性密码(TOTP)是这个领域的标 准算法

以我们建议采用可显著提高安全性的双 因素认证。基于时间的一次性密码(TOTP)是这个领域的标 准算法,服务器端的实现简单直接,在谷歌和微软的智能手机 中也免费提供这样的认证应用

  1. Enlive是基于Clojure 的模板框架,她彻底分离程序代码和HTML标记,用CSS选择 器查找并替换文档片段

Mustache或FreeMarker等模板框架都把代码和标记混杂在 同一个文件中以实现复杂的动态内容。Enlive是基于Clojure 的模板框架,她彻底分离程序代码和HTML标记,用CSS选择 器查找并替换文档片段。Enlive展示了函数式编程的威力,用 一组简单的、可组合的函数作用于通用的抽象结构来实现复杂 行为。我们使用Clojure的团队认为Enlive是个既实用又直接 的工具。

  1. 。本地存储同步 local storage sync 

当我们实现单页应用 (single-page applications) 时,“离线使 用”这个问题迟早都会浮出水面。鉴于很难正确的将离线模式加 入一个现有的应用中,“离线优先”的思想已经成为了开发单页 应用的一种趋势。本地存储同步 local storage sync 就是一种我 们曾经成功运用过的重要实现技术。使用这种技术,面向用户的 代码将不再发送请求到后端系统,而是仅仅从本地存储 (local storage) 中获取数据。并由一个后台服务对本地存储和后 端系统进行同步,通常,会调用某种形式的 REST API。

拥抱“数据湖”的理念就是要去除因缺少 ETL 开发人员或是堆 积了太多前台数据模型设计而造成的瓶颈。它旨在帮助开发人员 以敏捷的模式,基于他们需要数据的时机和方式 (在合理的限度 内),来创建他们自己的数据处理管道。这也与我们评价很高的 另一模型 —— 技术运维 (DevOps) 模型有很多相同点。

  1. Jackrabbit 3,是一个可扩展和高性能的层次化内容存储系统,

Jackrabbit Oak (http://jackrabbit.apache.org/oak/),之前叫 做 Jackrabbit 3,是一个可扩展和高性能的层次化内容存储系统, 可用于内容管理系统的基础。其存储方式除了使用文件系统之 外,也支持 MongoDB 和 RDMS,其更适合于大数据量的场景。 虽然它使用 Java 实现,但是可以通过类似于 JCR 这样的标准从 各种平台很方便地对其进行访问。

஡వӑԁ఩Ҭ (Text-it-as-a-service)

/Rapidpro (http://rapidpro.io/) 为业务提供轻松地创建或修改复杂的短 信服务应用的能力,同时无需开发人员的大力支持。相对于 USSD 会话来说,文字信息的成本更低。这提供了一个更加经济 实惠的方式,来针对功能手机 (feature phones) 构建具有伸缩性 的应用程序。这在我们的项目中已经看到了成功的案例。流程非 常容易构建;行为也可以在诸如发送短消息、邮件,甚至是调用 外部 API 等任意时点被触发 。

  1. IndexedDB 

随着单页面应用和离线优先 (RɞLQHȴUVW) 的开发方式变得更加 可行和普遍,在 web 浏览器中持久化数据的需求与日剧增。本 地存储 (Local Storage) 非常容易使用,而且得到了大多数浏览器 的支持。而对于更加复杂的使用场景,IndexedDB 就能派上用 场了。尽管有时候 IndexedDB 不失为一个好的解决方案,但是 我们仍然建议只有在绝对必要的情况下再使用它,这是因为使用 它会增加复杂性,而且其 API 也多少有些笨拙。我们在对 LocalForage (https://github.com/mozilla/localForage) 框架的 使用中也获得了良好的体验,它在那些各

  1. Nashorn 是一个面向 Java 8 发布的全新 JavaScript 引擎

。当我 们需要在浏览器和服务器执行完全相同的代码时——例如做校验 或者数据迁移 —— 1DVKRUQ就是 Java 世界里的可选方案之一, 虽然 Java 应用中很少会遇到这种边缘场景。尽管可以通过 1RGH或 Avatar 来使1DVKRUQ承载整个应用,但是我们还不确 定这是不是一种好的实现。 5HWURȴW(KWWSVTXDUHJLWKXELRUHWURȴW)

  1. Retrofit过将一个 REST API 转化为 Java 接口,

为在 Android 项目上构建 HTTP 客户端 提供了一

  1. 没落技术

    1. gitflow
    2.  Application Servers 46. OSGi 47. SPDY
  1. 团队应该克制他们的互联网级 规模的情结而倾向于简单可行的解决方案。

Atitit 2016 技术趋势与没落技术 目录 1.1. 离线优先Web应用程序(Offline first web applications) 1 1.2. 依照产品而不是项目(product相关推荐

  1. android:沉浸模式_2020年电子商务技术趋势:沉浸式技术时代

    android:沉浸模式 Technologies like AI, VR/AR, Cryptocurrency, IoT will take center stage in 2020 and als ...

  2. 2019年十大数据与分析技术趋势

    来自:GartnerInc 全球领先的信息技术研究和顾问公司Gartner指出,增强型分析(augmented analytics).持续型智能(continuous intelligence)与可解 ...

  3. Gartner:2019年十大数据与分析技术趋势

    来源:网络大数据 近日,全球领先的信息技术研究和顾问公司Gartner指出,增强型分析(augmented analytics).持续型智能(continuous intelligence)与可解释型 ...

  4. 第四范式入选Gartner 2020十大战略技术趋势报告 成全球AutoML代表厂商

    近日,国际权威机构Gartner发布了<2020年十大战略技术趋势:AI民主化>报告,第四范式作为自动机器学习(AutoML)代表入选该报告推荐厂商.Gartner认为,以AutoML为代 ...

  5. Java 正青春:现状与技术趋势报告

    背景 1991 年,James Gosling 带领团队开始了一个叫"Oak"的项目,这个就是 Java 的前身.1995 年,Java1.0 发布."Write onc ...

  6. Gartner(高德纳):2022年重要战略技术趋势

    每年Gartner 都会发布对业务至关重要的技术趋势.今年Gartner的重要战略技术趋势包含 12 项,这些趋势将使 CEO 能够实现业务增长.提高数字化进程和效率的目标,并将 CIO 和 IT 高 ...

  7. 推荐介绍一项新的工程技术:[威胁建模]的相关系列文章《威胁建模Web 应用程序》...

    以往我们建立和开发web应用,特别是要部署到Internet上的工程项目,都要多多少少考虑一些安全性问题,分析可能存在的漏洞,来决定如何有效防范攻击,但是很少有公司或个人将这种行为活动归结到项目的建模 ...

  8. 《黑客攻防技术宝典Web实战篇@第2版》读书笔记1:了解Web应用程序

    读书笔记第一部分对应原书的第一章,主要介绍了Web应用程序的发展,功能,安全状况. Web应用程序的发展历程 早期的万维网仅由Web站点构成,只是包含静态文档的信息库,随后人们发明了Web浏览器用来检 ...

  9. Web应用程序是一种利用网络浏览器和网络技术在互联网上执行任务的计算机程序

    数以百万计的企业将互联网作为一个具有成本效益的通信渠道.它使他们能够与目标市场交换信息,并进行快速,安全的交易.但是,只有在企业能够捕获和存储所有必要数据,并有办法处理这些信息并将结果呈现给用户时,才 ...

  10. IT:后端进阶技术路线图(初级→中级→高级)、后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介、技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略

    IT:后端进阶技术路线图(初级→中级→高级).后端开发工程师(技术方向分类之后台业务开发/中间件/内核/分布式架构)基础知识简介.技术路线/技术趋势指南(如何选择自己的技术方向)之详细攻略 目录 后端 ...

最新文章

  1. 查询Windows api
  2. “魅力足球,艺术中国”2007中国艺术精英展
  3. python 使用c模块_您可能没有使用(但应该使用)的很棒的Python模块
  4. 对tf.nn.softmax的理解
  5. 实现文字左右滚动 javascript
  6. mongodb 的进库操作
  7. 好用的jquery.animateNumber.js数字动画插件
  8. EtherCAT主站SOEM函数详解---- ecx_statecheck
  9. Hp-socket高性能网络库三--tcp组件pack接收模型
  10. If you insist running as root, then set the environment variable RUN_AS_USER=root
  11. Go语言学习之net/http包(The way to go)
  12. 形态学运用(去除图像噪点,提取水平线,垂直线)--OPenCV08
  13. UE4 关卡蓝图实现开关门
  14. Java:多线程、网络编程(UDPTCP)、XML、枚举、注解、单元测试、日志
  15. OSPF之LSA详解
  16. Jenkins部署项目时,git报错fatal: index file smaller than expected
  17. 2019最新《妙堂Javascript全套项目实战》
  18. 解决共享文件复制出错“指定的网络名不再可用”
  19. c语言动态生成结构体结构,C语言实现动态结构体数组
  20. 3D游戏建模如火如荼,你还在为未来迷茫吗?

热门文章

  1. 以弹窗形式打开页面_“弹窗广告”肆意而为!扰民?还可能侵权!
  2. python相比于c语言更静态_Python的几种实现
  3. php 调用高拍仪,html页面通过ActiveX控件调用摄像头实现拍照上传demo代码下载
  4. heapsort(Java)(最小堆)
  5. python之用yagmail模块发送邮件
  6. MySQL数据库使某个不是主键的字段唯一
  7. MySQL 之 Metadata Locking 研究
  8. TFS 2010 使安装更容易,让VSS历史
  9. Visual Leak Detector 2.2.3 Visual C++内存检测工具
  10. 云计算不可及?私有云对IT架构三大影响