概述
互联网架构技术发展历程
软件开发行业继续向前迈进。 在2017年,我们看到了新版本的流行语言,框架和工具,这给了我们更多的力量,并且改变着我们的工作方式。 跟上一切潮流很难,因此在每年年底,让我们来谈一谈未来的十二个月什么才可能是最重要最值得学习的。
2018年语言方向建议:
学习一个或多个:JS(ES2017),TypeScript,Python,Ruby,PHP7,Java 。
JavaScript
继续其令人难以置信的创新步伐。为了配合Web浏览器的快速发布计划,JS标准每年就会更新一次。下一个版本,ES2017,预计将于2017年中期完成。它将带来许多JS开发人员的梦想特征——异步/等待,用于处理异步函数。什么,新功能学不懂?那么也许你可以从基本的JS类库学起
TypeScript
TypeScript
2.1于2016年年底发布,为旧浏览器带来了异步/等待,并改进了类型推断。TypeScript是一种编译为JavaScript的静态类型语言。它增加了强大的功能,如经典的OOP模型和可选的静态类型,使大代码库更容易维护。它是编写Angular
2应用程序的首选语言,我们建议你尝试。
Python
Python
3.6于12月发布。它正在巩固其作为开发人员,IT专业人员和科学家的脚本语言的首选地位。它适用于自动化,Web开发,机器学习和科学计算。当你想写一个简单的爬虫程序来获取信息时,现在Python理应是你的第一选择。至于Python
2/3版本的问题已经争论多年,在社区的努力下,但是现在你可以轻松地选择3并享受完整的库支持。对于那些需要额外的性能,他们可以看看PyPy,并可以选用JIT启用Python运行时。
Ruby
Ruby
2.3今年早些时候发布了一些性能改进。 Ruby也是一个通用脚本语言的好选择,但是当与Rails配对时可能会更加大放异彩。 Ruby
3×3的倡议被宣布,这将试图使即将推出的Ruby 3版本比当前版本快3倍,为在更多的上下文中使用Ruby提供了基础。
PHP
PHP 7.1是在12月发布的,并对该语言进行了小小的增强。这基于去年版本7.0中的主要性能改进,将PHP转变为构建Web应用程序的快速平台。我们认为当你需要开发一个Web应用的时候,PHP将是一个不错的选择。
Java
Java
9预计在2017年,并将带来欢迎的新功能,如评估代码,HTTP
2.0支持和新的API的repl。对于有才能的Java开发人员和使用该语言的广泛的令人兴奋的项目有强烈的需求。如果Java不是你的菜,有一些基于JVM的语言,如Kotlin和Scala,你可以试试。
2018年开发工具方向建议:
尝试一个或多个这些:IDEA ,Visual Studio,Git,Electron,Ansible,Docker。
IDEA
IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,也是AES算法标准的主要竞争者,其安全性已经在国际密码年会上被证明。
Visual Studio Code和Atom
两个最受欢迎的开源代码编辑器
- Visual Studio
Code和Atom在过去12个月中为我们呈现到了不可思议的创新成果。首先是网络构建项目,如果你还是一个“单打独斗”的程序员也许你并不需要网络项目,但如果你不能提前养成一个好的版本控制习惯,当你进入大型项目组时,你可能会成为需要在回家的路上半路跑回公司次数最多的那个人。语法检查可以帮助你提前减少BUG。编辑器有可用的语言检查,linting和重构工具的大量语言的插件。
Git
Git是最流行的源代码版本控制系统。它是无服务器的,你可以将计算机上的任何文件夹转换为存储库。如果你想共享代码,你有很多选择,如GitLab,
Bitbucket和Github
Bitbucket和Github,仅举几例。对于2017年,我们建议你熟悉git命令行,因为它会比你想象的更方便。
桌面应用程序还没有死。即使网络应用程序变得越来越有能力,有时你需要强大的功能和API,这是网络平台根本不可用。使用诸如Electron和NW.js之类的工具,你可以使用Web技术编写桌面应用程序。借此,你可以如鱼得水地在操作系统中尽量发挥npm的各个模块的功能。
DevOps
软件团队组织的最新趋势是让开发人员负责自己的软件部署。也称为DevOps,这导致更快的发布和更快地修复生产中的问题。现在公司也越来越看重那种即会运营又会写代码的程序员(或者说有可能在35岁之后能和公司一起走下去的员工),因此熟悉能够实现这一目标的技术将是一个巨大的进步。我们推荐的一些工具是Ansible和Docker。拥有Linux命令行和基本系统管理技能的经验也将使你看起来更优秀。
2018年框架方向建议:
学习以下一个或多个:Angular 2,Vue.js,Ember,Bootstrap
Angular.js 2
Angular.js
2今年发布。该框架由Google支持,非常受企业和大公(Gu)司(Ge)的欢迎。它具有大量的功能,使从网络到桌面和移动应用程序的写作成为可能。框架是用TypeScript编写的,这也是编写应用程序的推荐语言。有很多要学习的内容,但我们认为在2017年学习Angular
2将是一笔不错的投资。
Vue.js
Vue.js也看到了今年的2.0版本。它借鉴了Angular,React和Ember的好主意,并将它们放入一个易于使用的包中。它也比前两个更轻量级并且更快。我们建议你今年试试。
Ember
Ember是JavaScript框架的另一个选择。它支持数据绑定,自动更新模板,组件和服务器端呈现。与其竞争对手相比,它的一个好处是它更成熟和稳定。打破变化的频率要低得多,社区也会降低兼容性。这使得框架成为长期应用程序的不错选择。
另外两个值得一看的框架是Aurelia和React。去年,React的生态系统变得越来越复杂,因此很难为初学者推荐。但经验丰富的开发者可以将库与GraphQL,Relay,Flux和Immutable.js组合成一个全面的完整堆栈解决方案。
没有前端编译可以绕开Bootstrap,Bootstrap4目前处于Alpha版本,预计在2017年发布。值得注意的变化是新的通用卡组件和flexbox网格,这个现代化的框架,使工作环境更加简单快乐。
Bootstrap
Bootstrap 让前端开发更快速、简单。所有开发者都能快速上手、所有设备都可以适配、所有项目都适用。
虽然可以直接使用 Bootstrap 提供的 CSS 样式表,不要忘记 Bootstrap 的源码是基于最流行的 CSS 预处理脚本 - Less 和 Sass 开发的。你可以采用预编译的 CSS 文件快速开发,也可以从源码定制自己需要的样式。
你的网站和应用能在 Bootstrap 的帮助下通过同一份代码快速、有效适配手机、平板、PC 设备,这一切都是 CSS 媒体查询(Media Query)的功劳。
Bootstrap 提供了全面、美观的文档。你能在这里找到关于 HTML 元素、HTML 和 CSS 组件、jQuery 插件方面的所有详细文档。
2018年框架方向建议:
学习以下一个或多个:Java,Python,Ruby,PHP
Java
Java生态系统还有流行的Web框架可供选择。 Play和Spark是两个固定的选择,,他们也可以与Scala一起使用。
Python
Python以Django和Flask的形式有了自己的全栈/最小框架组合。 Django 1.10在8月发布,引入全文搜索Postgres和一个大修的中间件层。
Ruby
对于Ruby,Rails框架是首选。版本5.0于2016年发布,为Web套接字,API模式提供支持。Sinatra也是小应用程序的不错选择,版本2.0预计2017年有时。
PHP
什么?PHP,我没逗你。PHP首先是一种Web语言,并且有大量的Web框架可供选择。由于其出色的文档和未来,Laravel已经形成了一个活跃的社区。
Zend Framework发布了第3版,这标志着这种面向业务的框架的极大升级。
Symfony在今年也看到了很多新的版本,使它成为一个完整的堆栈解决方案,一个更好的选择。
2018年数据库方向建议:
学习其中之一:MySQL,Postgres,CouchDB,Redis。
MySQL
MySQL 8.0将是数据库的下一个主要版本。预计2017年某个时候,它将给系统带来很多改进。MySQL仍然是最受(mian)欢迎(fei)的数据库管理系统,整个行业都受益于这些新版本。
PostgreSQL
PostgreSQL 9.6于9月发布。它带来更好的全文搜索,加快了数据库系统的并行查询和更高效的复制,聚合,索引和排序。 Postgres用于大规模,太字节规模的数据集,以及繁忙的网络应用程序,这些优化在大数据和海量数据时代都是是受欢迎的。
NoSQL
对于NoSQL粉丝,我们可以推荐CouchDB。它是一个快速和可扩展的JSON存储系统,它公开了一个REST-ful
HTTP API。数据库易于使用,性能卓越。
PouchDB是一个精神对应的CouchDB,完全在浏览器中工作,可以与Couch同步。这允许你在离线准备的网络应用程序中使用Pouch,并在互联网连接可用后自动同步。
Redis
Redis是我们最喜欢的键值存储,它具有轻量级,快速的特点,并且功能繁多。你可以将其用作智能内存替代方法,作为NoSQL数据存储或进程消息传递和同步通道。它提供了大量的数据结构可供选择,并且即将到来的4.0版本将有一个模块系统和改进的复制。
总结
到这里,2018年不为人知的语言、工具和框架就结束了,,不足之处还望大家多多包涵!!觉得收获的话可以点个关注收藏转发一波喔,谢谢大佬们支持。(吹一波,233~~)
下面和大家交流几点编程的经验:
1、多写多敲代码,好的代码与扎实的基础知识一定是实践出来的
2丶 测试、测试再测试,如果你不彻底测试自己的代码,那恐怕你开发的就不只是代码,可能还会声名狼藉。
3丶 简化编程,加快速度,代码风骚,在你完成编码后,应回头并且优化它。从长远来看,这里或那里一些的改进,会让后来的支持人员更加轻松。
最后,每一位读到这里的网友,感谢你们能耐心地看完。希望在成为一名更优秀的Java程序员的道路上,我们可以一起学习、一起进步。