As developers we build on the shoulders of giants - using APIs developed by others to propel ourselves further forward. We also often find ourselves in the position where we must provide our own APIs for other developers to use. Building a Java API is not without perils -we must know the features of the language extremely well, we must understand the implications of breaking compatibility, we must own many other responsibilities such as creating excellent documentation, and most importantly, we must practice restraint.
This session, presented by Jonathan Giles, will give an introduction to developers on how they should develop their own APIs, whether it be for internal use, an open source project, or a commercial library. The focus is purely on building Java APIs, not REST APIs or anything else! Jonathan has over 10 years experience building Java APIs, firstly at Sun Microsystems and Oracle in the Java team working on Java releases 7, 8, 9, and 10, and more recently he has joined Microsoft as a cloud developer advocate, where he works closely with the engineering teams to improve the Java API offering for Azure.
This session will work through tips that developers should follow, and advice for developers to avoid.
What audience will learn from our talk:
This session is targeted towards developers who know Java, but don't necessarily know best practices around API design. It is for people who are actively creating APIs, and for those who may find themselves creating API simply because no one else is doing it.
Jonathan Giles将带来的这场演讲，将向开发者分享如何构建自己的API，不管是内部使用、开源项目还是商用库。重点谈的也是构建Java API，而不是REST API或其他内容。Jonathan有十多年的Java API构建经验，他最初在Sun和Oracle的Java团队，参与了 Java 7、8、9和10等版本的开发工作；最近他加入微软担任云开发者布道师，和工程师团队紧密协作，改进Azure上的Java API。
Go was introduced as a new open source language on November 10th, 2009. Go is a language for engineering teams who seek to build fast, scalable, and most importantly maintainable, software. This talk will reflect on the success Go has enjoyed over the past nine years, and give the audience an overview of the four new additions coming to Go 2.0; dependency management, error handling, error values, and generics.