├── README.md
├── assets
└── readme
│ ├── kotlin_group.jpg
│ └── translator.png
├── generateList.py
├── original
├── A New Open Source Web Site.md
├── A little lesson learned from Java.md
├── Advanced Features of Anko.md
├── An Interview with Andy Selvig, Author of Kara Web Framework.md
├── Anko 0.6 is Released.md
├── Announcing Anko for Android.md
├── Announcing KotlinConf.md
├── Announcing the Support Program for Kotlin User Groups and Events.md
├── Better Annotation Processing Supporting Stubs in kapt.md
├── Call for Feedback Java Statics, Result Expressions and More.md
├── Call for Feedback Upcoming Changes in Kotlin.md
├── Calling on EAPers.md
├── Catch up with our Kotlin Team at Devoxx Belgium.md
├── Contest Go Cross-Platform with Kotlin!.md
├── Contributing to Kotlin (Kontributing).md
├── DSLs in Kotlin Part 1. What’s in the toolbox + Builders.md
├── Dogfooding Kotlin and M3.1.md
├── Early access program for Kotlin 1.2 has been started.md
├── Eclipse Plugin Alpha is Out!.md
├── Feedback Request Limitations on Data Classes.md
├── Fibers and Actors in Kotlin with Quasar.md
├── First glimpse of Kotlin 1.1 Coroutines, Type aliases and more.md
├── Follow-up New Class Object Syntax.md
├── Free Kotlin Webinar on Wednesday, October 10th.md
├── Full-Day Kotlin Workshop October 6th in Malmö, Sweden.md
├── Gradle Daemon Support for Faster Compilation.md
├── Gradle Meets Kotlin.md
├── Hello World.md
├── How do you traverse a map.md
├── How to configure Kotlin in your project.md
├── Improving Java Interop Top-Level Functions and Properties.md
├── JavaScript Interop.md
├── Join Live Webinar — Functional Programming with Kotlin.md
├── Join Live Webinar — Quasar and Kotlin.md
├── KAnnotator 0.1 is out.md
├── Kotlin 1.0 Beta 2 is Out!.md
├── Kotlin 1.0 Beta 3 is Out!.md
├── Kotlin 1.0 Beta 4 is Out!.md
├── Kotlin 1.0 Beta Candidate is Out!.md
├── Kotlin 1.0 Release Candidate is Out!.md
├── Kotlin 1.0 Released Pragmatic Language for JVM and Android.md
├── Kotlin 1.0.1 is Here!.md
├── Kotlin 1.0.2 is Here.md
├── Kotlin 1.0.3 Is Here!.md
├── Kotlin 1.0.4 is here.md
├── Kotlin 1.0.5 is here.md
├── Kotlin 1.0.6 is here!.md
├── Kotlin 1.0.7 is out.md
├── Kotlin 1.1 Beta 2 is here.md
├── Kotlin 1.1 Beta Is Here!.md
├── Kotlin 1.1 Event Report.md
├── Kotlin 1.1 Event in Your City.md
├── Kotlin 1.1 Event.md
├── Kotlin 1.1 Release Candidate is Here.md
├── Kotlin 1.1 Released with JavaScript Support, Coroutines and more.md
├── Kotlin 1.1 What’s coming in the standard library.md
├── Kotlin 1.1 is also for Android Developers.md
├── Kotlin 1.1-M02 is here!.md
├── Kotlin 1.1-M03 is here!.md
├── Kotlin 1.1-M04 is here!.md
├── Kotlin 1.1-What’s coming in the standard library.md
├── Kotlin 1.1.1 is out.md
├── Kotlin 1.1.2 is out.md
├── Kotlin 1.1.3 is out.md
├── Kotlin 1.1.4 is out.md
├── Kotlin 1.1.50 is out.md
├── Kotlin 1.1.60 is out.md
├── Kotlin 1.2 Beta is out.md
├── Kotlin 1.2 Beta2 is out.md
├── Kotlin 1.2 M2 is out.md
├── Kotlin 1.2 Released Sharing Code between Platforms.md
├── Kotlin 1.2.20 is out.md
├── Kotlin Census 2017.md
├── Kotlin Digest 2015.md
├── Kotlin Digest 2016.Q1.md
├── Kotlin Eclipse Plugin 0.2.0.md
├── Kotlin Eclipse Plugin 0.3.0.md
├── Kotlin Eclipse Plugin 0.5.0.md
├── Kotlin Eclipse Plugin 0.7 Is Here!.md
├── Kotlin Educational Plugin.md
├── Kotlin Evolves How to Keep Your Code Up.md
├── Kotlin Future Features Survey Results.md
├── Kotlin Goes Open Source!.md
├── Kotlin M1 Candidate.md
├── Kotlin M1 is Out!.md
├── Kotlin M11 is Out!.md
├── Kotlin M12 is out!.md
├── Kotlin M13 is out!.md
├── Kotlin M14 is out!.md
├── Kotlin M2 Candidate.md
├── Kotlin M2 is Out!.md
├── Kotlin M3 is Out!.md
├── Kotlin M4 is Out!.md
├── Kotlin M5 is Out!.md
├── Kotlin M5.1.md
├── Kotlin M5.2 IntelliJ IDEA 12.1 and Gradle.md
├── Kotlin M5.3 IntelliJ IDEA 13, Delegated Properties and more.md
├── Kotlin M6 is here!.md
├── Kotlin Native IDE Support Preview.md
├── Kotlin Native v0.3 is out.md
├── Kotlin Native v0.4 released Objective-C interop WebAssembly and more.md
├── Kotlin Native v0.5 released calling Kotlin from Swift and C LLVM 5 and more.md
├── Kotlin NetBeans plugin beta is out!.md
├── Kotlin Night in London Recordings.md
├── Kotlin Night in London.md
├── Kotlin Night in San Francisco Recordings.md
├── Kotlin Post-1.0 Roadmap.md
├── Kotlin Session and JetBrains Booth at 33rd Degree Conference.md
├── Kotlin Session at Devoxx, November 16th.md
├── Kotlin Skills Matter Events in London, England.md
├── Kotlin Web Demo is out!.md
├── Kotlin Workshop Material for you to use.md
├── Kotlin census call to action.md
├── Kotlin gets support for S-expressions.md
├── Kotlin on Android. Now official.md
├── KotlinConf - New Workshop and Community Event by JetBrains and Realm.md
├── KotlinConf - Speaker List Announced.md
├── KotlinConf 2017 Session Recordings and Photos are Here!.md
├── KotlinConf Keynote Recap.md
├── Kotlin_Native Tech Preview Kotlin without a VM.md
├── Kotlin_Native v0.2 is out.md
├── Kotlin’s Android Roadmap.md
├── Learn Kotlin with “Advent of Code”.md
├── Let’s Kode Together!.md
├── M10 is out.md
├── M6.1 Released.md
├── M6.2 Available.md
├── M7 Release Available.md
├── M8 is out!.md
├── M9 is coming.md
├── M9 is here!.md
├── MCE2015 Kotlin Session and JetBrains Booth.md
├── Making Platform Interop even smoother.md
├── Meet the Kotlin Team at Gradle Summit.md
├── Mixed-Site Variance in Kotlin.md
├── Modifiers vs Annotations.md
├── More Deprecations Coming.md
├── More changes Enum Syntax, Another Deprecation and More.md
├── Multiple Inheritance Part 1 Problems with the existing design.md
├── Multiple Inheritance Part 2 Possible directions.md
├── New Style for User Groups.md
├── Our first book about Kotlin is out.md
├── Ranges Reloaded.md
├── Slides and Video Kotlin@JVMLS 2011.md
├── Slides from the JVM Language Summit presentations.md
├── Spek – A Specification Framework.md
├── StrangeLoop Slides+Video.md
├── Talk @ GeekOUT Tallinn Language Design Trade-Offs (Kotlin and Beyond).md
├── The Dot Operator.md
├── The Great Syntactic Shift.md
├── The Kotlin Language 1.0 Beta is Here!.md
├── The Kotlin issue tracker is now public.md
├── The Road Ahead.md
├── Try Kotlin in Your Browser New Look and More Features.md
├── Type-Safe Web with Kotlin.md
├── Upcoming Change Function Types Reform.md
├── Upcoming Change More Null-safety for Java.md
├── Upcoming Change Syntax For Annotations.md
├── Upcoming Change “Class Objects” Rethought.md
├── Upcoming Feature Deprecations.md
├── Use Kotlin with npm, webpack and react.md
├── Webinar Recording Functional Programming with Kotlin.md
├── Webinar Recording. Quasar Efficient and Elegant Fibers, Channels and Actors.md
├── Webinar recording Developing Multiplatform Projects in Kotlin 1.2.md
├── What’s new in Standard Library M13 and M14.md
├── Why JetBrains needs Kotlin.md
├── Working with Kotlin in Android Studio.md
├── Writing Kotlin in the Browser.md
├── kapt Annotation Processing for Kotlin.md
├── “Static constants” in Kotlin.md
└── “Surround with…” comes to Kotlin.md
└── translated
├── A New Open Source Web Site.md
├── A little lesson learned from Java.md
├── Advanced Features of Anko.md
├── An Interview with Andy Selvig, Author of Kara Web Framework.md
├── Anko 0.6 is Released.md
├── Announcing Anko for Android.md
├── Announcing KotlinConf.md
├── Announcing the Support Program for Kotlin User Groups and Events.md
├── Better Annotation Processing Supporting Stubs in kapt.md
├── Call for Feedback Java Statics, Result Expressions and More.md
├── Call for Feedback Upcoming Changes in Kotlin.md
├── Calling on EAPers.md
├── Catch up with our Kotlin Team at Devoxx Belgium.md
├── Contest Go Cross-Platform with Kotlin!.md
├── Contributing to Kotlin (Kontributing).md
├── DSLs in Kotlin Part 1. What’s in the toolbox + Builders.md
├── Dogfooding Kotlin and M3.1.md
├── Early access program for Kotlin 1.2 has been started.md
├── Eclipse Plugin Alpha is Out!.md
├── Feedback Request Limitations on Data Classes.md
├── Fibers and Actors in Kotlin with Quasar.md
├── First glimpse of Kotlin 1.1 Coroutines, Type aliases and more.md
├── Follow-up New Class Object Syntax.md
├── Free Kotlin Webinar on Wednesday, October 10th.md
├── Full-Day Kotlin Workshop October 6th in Malmö, Sweden.md
├── Gradle Daemon Support for Faster Compilation.md
├── Gradle Meets Kotlin.md
├── Hello World.md
├── How do you traverse a map.md
├── How to configure Kotlin in your project.md
├── Improving Java Interop Top-Level Functions and Properties.md
├── JavaScript Interop.md
├── Join Live Webinar — Functional Programming with Kotlin.md
├── Join Live Webinar — Quasar and Kotlin.md
├── KAnnotator 0.1 is out.md
├── Kotlin 1.0 Beta 2 is Out!.md
├── Kotlin 1.0 Beta 3 is Out!.md
├── Kotlin 1.0 Beta 4 is Out!.md
├── Kotlin 1.0 Beta Candidate is Out!.md
├── Kotlin 1.0 Release Candidate is Out!.md
├── Kotlin 1.0 Released Pragmatic Language for JVM and Android.md
├── Kotlin 1.0.1 is Here!.md
├── Kotlin 1.0.2 is Here.md
├── Kotlin 1.0.3 Is Here!.md
├── Kotlin 1.0.4 is here.md
├── Kotlin 1.0.5 is here.md
├── Kotlin 1.0.6 is here!.md
├── Kotlin 1.0.7 is out.md
├── Kotlin 1.1 Beta 2 is here.md
├── Kotlin 1.1 Beta Is Here!.md
├── Kotlin 1.1 Event Report.md
├── Kotlin 1.1 Event in Your City.md
├── Kotlin 1.1 Event.md
├── Kotlin 1.1 Release Candidate is Here.md
├── Kotlin 1.1 Released with JavaScript Support, Coroutines and more.md
├── Kotlin 1.1 What’s coming in the standard library.md
├── Kotlin 1.1 is also for Android Developers.md
├── Kotlin 1.1-M02 is here!.md
├── Kotlin 1.1-M03 is here!.md
├── Kotlin 1.1-M04 is here!.md
├── Kotlin 1.1-What’s coming in the standard library.md
├── Kotlin 1.1.1 is out.md
├── Kotlin 1.1.2 is out.md
├── Kotlin 1.1.3 is out.md
├── Kotlin 1.1.4 is out.md
├── Kotlin 1.1.50 is out.md
├── Kotlin 1.1.60 is out.md
├── Kotlin 1.2 Beta is out.md
├── Kotlin 1.2 Beta2 is out.md
├── Kotlin 1.2 M2 is out.md
├── Kotlin 1.2 Released Sharing Code between Platforms.md
├── Kotlin 1.2.20 is out.md
├── Kotlin Census 2017.md
├── Kotlin Digest 2015.md
├── Kotlin Digest 2016.Q1.md
├── Kotlin Eclipse Plugin 0.2.0.md
├── Kotlin Eclipse Plugin 0.3.0.md
├── Kotlin Eclipse Plugin 0.5.0.md
├── Kotlin Eclipse Plugin 0.7 Is Here!.md
├── Kotlin Educational Plugin.md
├── Kotlin Evolves How to Keep Your Code Up.md
├── Kotlin Future Features Survey Results.md
├── Kotlin Goes Open Source!.md
├── Kotlin M1 Candidate.md
├── Kotlin M1 is Out!.md
├── Kotlin M11 is Out!.md
├── Kotlin M12 is out!.md
├── Kotlin M13 is out!.md
├── Kotlin M14 is out!.md
├── Kotlin M2 Candidate.md
├── Kotlin M2 is Out!.md
├── Kotlin M3 is Out!.md
├── Kotlin M4 is Out!.md
├── Kotlin M5 is Out!.md
├── Kotlin M5.1.md
├── Kotlin M5.2 IntelliJ IDEA 12.1 and Gradle.md
├── Kotlin M5.3 IntelliJ IDEA 13, Delegated Properties and more.md
├── Kotlin M6 is here!.md
├── Kotlin Native IDE Support Preview.md
├── Kotlin Native v0.3 is out.md
├── Kotlin Native v0.4 released Objective-C interop WebAssembly and more.md
├── Kotlin Native v0.5 released calling Kotlin from Swift and C LLVM 5 and more.md
├── Kotlin NetBeans plugin beta is out!.md
├── Kotlin Night in London Recordings.md
├── Kotlin Night in London.md
├── Kotlin Night in San Francisco Recordings.md
├── Kotlin Post-1.0 Roadmap.md
├── Kotlin Session and JetBrains Booth at 33rd Degree Conference.md
├── Kotlin Session at Devoxx, November 16th.md
├── Kotlin Skills Matter Events in London, England.md
├── Kotlin Web Demo is out!.md
├── Kotlin Workshop Material for you to use.md
├── Kotlin census call to action.md
├── Kotlin gets support for S-expressions.md
├── Kotlin on Android. Now official.md
├── KotlinConf - New Workshop and Community Event by JetBrains and Realm.md
├── KotlinConf - Speaker List Announced.md
├── KotlinConf 2017 Session Recordings and Photos are Here!.md
├── KotlinConf Keynote Recap.md
├── Kotlin_Native Tech Preview Kotlin without a VM.md
├── Kotlin_Native v0.2 is out.md
├── Kotlin’s Android Roadmap.md
├── Learn Kotlin with “Advent of Code”.md
├── Let’s Kode Together!.md
├── M10 is out.md
├── M6.1 Released.md
├── M6.2 Available.md
├── M7 Release Available.md
├── M8 is out!.md
├── M9 is coming.md
├── M9 is here!.md
├── MCE2015 Kotlin Session and JetBrains Booth.md
├── Making Platform Interop even smoother.md
├── Meet the Kotlin Team at Gradle Summit.md
├── Mixed-Site Variance in Kotlin.md
├── Modifiers vs Annotations.md
├── More Deprecations Coming.md
├── More changes Enum Syntax, Another Deprecation and More.md
├── Multiple Inheritance Part 1 Problems with the existing design.md
├── Multiple Inheritance Part 2 Possible directions.md
├── New Style for User Groups.md
├── Our first book about Kotlin is out.md
├── Ranges Reloaded.md
├── Slides and Video Kotlin@JVMLS 2011.md
├── Slides from the JVM Language Summit presentations.md
├── Spek – A Specification Framework.md
├── StrangeLoop Slides+Video.md
├── Talk @ GeekOUT Tallinn Language Design Trade-Offs (Kotlin and Beyond).md
├── The Dot Operator.md
├── The Great Syntactic Shift.md
├── The Kotlin Language 1.0 Beta is Here!.md
├── The Kotlin issue tracker is now public.md
├── The Road Ahead.md
├── Try Kotlin in Your Browser New Look and More Features.md
├── Type-Safe Web with Kotlin.md
├── Upcoming Change Function Types Reform.md
├── Upcoming Change More Null-safety for Java.md
├── Upcoming Change Syntax For Annotations.md
├── Upcoming Change “Class Objects” Rethought.md
├── Upcoming Feature Deprecations.md
├── Use Kotlin with npm, webpack and react.md
├── Webinar Recording Functional Programming with Kotlin.md
├── Webinar Recording. Quasar Efficient and Elegant Fibers, Channels and Actors.md
├── Webinar recording Developing Multiplatform Projects in Kotlin 1.2.md
├── What’s new in Standard Library M13 and M14.md
├── Why JetBrains needs Kotlin.md
├── Working with Kotlin in Android Studio.md
├── Writing Kotlin in the Browser.md
├── kapt Annotation Processing for Kotlin.md
├── “Static constants” in Kotlin.md
└── “Surround with…” comes to Kotlin.md
/assets/readme/kotlin_group.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bennyhuo/KotlinBlogTranslation/88c16787b7386d6d8e2418abed07f57b949a5de8/assets/readme/kotlin_group.jpg
--------------------------------------------------------------------------------
/assets/readme/translator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bennyhuo/KotlinBlogTranslation/88c16787b7386d6d8e2418abed07f57b949a5de8/assets/readme/translator.png
--------------------------------------------------------------------------------
/generateList.py:
--------------------------------------------------------------------------------
1 | # coding=utf-8
2 | import os
3 | from datetime import datetime
4 |
5 | import sys
6 |
7 | from dateutils import dateutils
8 | import urllib
9 |
10 | os.chdir("original")
11 | files = os.listdir(".")
12 | fileMap = {}
13 |
14 | for file in files:
15 | f = open(file, "r")
16 | f.readline()
17 | f.readline()
18 | datetimeString = f.readline().replace("date:", "").strip()
19 | time = dateutils.timeStampFromString(datetimeString, "%Y-%m-%d %H:%M:%S")
20 | fileMap[time] = [file, datetimeString]
21 |
22 | sortedKeys = fileMap.keys()
23 | sortedKeys.sort(reverse=True)
24 |
25 |
26 | #readme = open("README.md", "w")
27 | readme = sys.stdout
28 |
29 | head = """Kotliner.cn 计划同步翻译 Kotlin 官方博客,以下是经过处理的原文以及经过谷歌翻译的译文,如果愿意参加到翻译当中,请加 QQ 群讨论:162452394
30 |
31 | 翻译时直接修改对应译文,不要修改格式。另外,如需在发布后接受打赏,可以将 reward 设置为 true,并且提供微信和支付宝二维码图片的地址(可以外链,也可以直接上传到本仓库 /assets/文章名/ 目录,地址写绝对路径,比如 /assets/文章名/wechat.png)。
32 |
33 |
34 | 标题 | 发表时间 | 译文地址 | 译者
35 | ---|---|---|---\n"""
36 |
37 | readme.write(head)
38 |
39 | for key in sortedKeys:
40 | file = fileMap[key][0]
41 | name = file[:-3]
42 | encodedFile = urllib.quote(file)
43 | readme.write("[" + name + "](original/" + encodedFile + ") |" + fileMap[key][1] + "| [译文](translated/" + encodedFile +")| |\n")
44 |
--------------------------------------------------------------------------------
/original/Announcing KotlinConf.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Announcing KotlinConf"
3 | date: 2017-03-14 21:57:00
4 | author: Hadi Hariri
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/03/announcing-kotlinconf/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Over the past year we have seen significant growth in Kotlin adoption, represented not only by the lines of Kotlin code on GitHub ( [8M new lines of code since 1.0 release](https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1/) ) but also by the numerous companies that have been reaching out to us about their usage, the number of talks being presented by community members at conferences, the increase in new frameworks and libraries, new user groups and meet-ups, as well as community events
18 | To thank the wonderful Kotlin community, and to also share the most exciting things happening in Kotlin, we’re happy to announce
19 |
--------------------------------------------------------------------------------
/original/Catch up with our Kotlin Team at Devoxx Belgium.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Catch up with our Kotlin Team at Devoxx Belgium"
3 | date: 2013-11-04 12:36:00
4 | author: Robert Demmer
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2013/11/catch-up-with-our-kotlin-team-at-devoxx-belgium/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Meet JetBrains and Kotlin team members Svetlana Isakova and Aleksei Sedunov, November 11-15, at the sold-out [Devoxx Belgium](http://www.devoxx.be/#/) conference. We invite you to **stop by our booth** for an **impromptu demo**, some **great gifts** and a chance to **win a free personal license**.
18 | Don’t miss the following great Kotlin events:
19 | **Hackergarten Hands-on Coding**
20 | On Tuesday, November 12th, Aleksei will be participating in the Hackergarten hands-on coding event. He will get you started with the Kotlin language and will help you write a plugin for IntelliJ IDEA in Kotlin. [Unpuzzling Kotlin: Bringing Clarity to Your Code](http://www.devoxx.be/dv13-svetlana-isakova.html?presId=3575) Join Svetlana and Aleksei Thursday, November 14th, 10:50 -11:50 in Room 6. In this talk we’re going to tell the story of Java puzzlers from the Kotlin perspective which would demonstrate how Kotlin design helps to eliminate some problematic issues found in Java. In particular, we’d consider such aspects as expressions and control structures, exception handling, object and classes, nullable types and extensions.
21 | #### **About Svetlana Isakova
22 | **
23 |
24 | #### **About Aleksei Sedunov**
25 |
26 | To get a taste of the upcoming action, watch this short video of the awesome people and atmosphere at the JetBrains booth from Devoxx 2012.
27 |
28 | {% raw %}
29 |
30 | {% endraw %}
31 |
32 | *For complete Devoxx Belgium 2013 information, please visit: http://www.devoxx.be/.*
33 |
--------------------------------------------------------------------------------
/original/Dogfooding Kotlin and M3.1.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Dogfooding Kotlin and M3.1"
3 | date: 2012-10-10 13:06:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2012/10/dogfooding-kotlin-and-m3-1/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | After releasing [Kotlin M3](http://blog.jetbrains.com/kotlin/2012/09/kotlin-m3-is-out/) , we immediately started [dogfooding](http://en.wikipedia.org/wiki/Eating_your_own_dog_food) Kotlin. Working on [KAnnotator](https://github.com/abreslav/kannotator) — a static analysis tool that will automatically infer nullability annotations for libraries — helps us tremendously at prioritizing issues. As a result, we roll out a bugfix update: [Kotlin M3.1](http://plugins.intellij.net/plugin?pr=idea&pluginId=6954) ( [list of closed issues](http://youtrack.jetbrains.com/issues/KT?q=resolved+date%3A+2012-09-12+..+2012-10-10) ). We recommend to run it with the latest [IntelliJ IDEA 12 EAP](http://confluence.jetbrains.com/display/IDEADEV/IDEA+12+EAP) .
18 | A few highlights:
19 |
20 | * A bunch of annoying exceptions and performance problems.
21 | * Referring to inner enums fixed.
22 | * Super-calls from object literals fixed.
23 | * A few back-end fixes, including bridge methods and debugger-related things.
24 | * You can now run all tests in a package/module.
25 |
26 | BTW, [this talk](http://blueskybd.vo.llnwd.net/o16/oracle/CON5934_mp4_5934_001.html) I presented at [JavaOne](https://oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=5934) a week ago covers some new features in M3. Slides are available [here](http://confluence.jetbrains.net/display/Kotlin/Talks+and+Publications) . Other talks can be watched [here](http://confluence.jetbrains.net/display/Kotlin/Talks+and+Publications) .
27 |
28 | {% raw %}
29 |
30 | {% endraw %}
31 |
32 |
--------------------------------------------------------------------------------
/original/Fibers and Actors in Kotlin with Quasar.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Fibers and Actors in Kotlin with Quasar"
3 | date: 2015-06-04 18:44:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/06/fibers-and-actors-in-kotlin-with-quasar/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | In the [previous post](http://blog.jetbrains.com/kotlin/2015/05/kotlin-m12-is-out/) we mentioned that the [Quasar](http://docs.paralleluniverse.co/quasar/) library now supports Kotlin, providing awesome support for fibers (lightweight threads), Go-like channels, Erlang-like actors, and other asynchronous tools.
18 | Our friends from [Parallel Universe](http://www.paralleluniverse.co/) have published a [blog post](http://blog.paralleluniverse.co/2015/06/04/quasar-kotlin/) that dives into details of using Quasar with Kotlin. Even in the unlikely case that multithreading doesn’t concern you much, Quasar/Kotlin integration is a great example of a “DSL” library written in Kotlin, it uses
19 |
20 | * data classes
21 | * top-level functions
22 | * lambdas
23 | * annotated expressions
24 | * when-expressions
25 | * inline functions
26 |
27 | to build a natural-looking and efficient API, and the [blog post](http://blog.paralleluniverse.co/2015/06/04/quasar-kotlin/) explains it very well.
28 | Enjoy!
29 |
--------------------------------------------------------------------------------
/original/Follow-up New Class Object Syntax.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Follow-up: New Class Object Syntax"
3 | date: 2015-03-14 10:57:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/03/follw-up-new-class-object-syntax/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | In the [previous post](http://blog.jetbrains.com/kotlin/2015/03/upcoming-change-class-objects-rethought/) I explained the rethought design of what used to be called “class objects”: they are now more uniform with normal nested objects, have names (name may be omitted, but a default one will be used by the compiler), and we can write extensions to them.
18 | One of the goals of that post was to gather feedback on the term we proposed, namely “default object”, and many of you rightfully stated in the comments that the term has a disadvantage: it is easily misread for “a default instance of the class”. **Now we are looking for a better term** and need some more feedback…
19 | **Update**: thanks to everyone, with your help, we chose `companion`.
20 | We are talking about a modifier in front of the word **object**:
21 |
22 | {% raw %}
23 |
24 | {% endraw %}
25 |
26 | ```kotlin
27 | class KotlinClass {
28 | ??? object {
29 | fun callMeOnTheClassName() { ... }
30 | }
31 | }
32 | ```
33 |
34 | {% raw %}
35 |
36 | {% endraw %}
37 |
38 | Our candidates are:
39 |
40 | * default object
41 | * attached object
42 | * companion object
43 | * manifest object
44 |
45 | We’d be very grateful if you **shared your thoughts** about these candidates in the comments.
46 | Thanks!
47 | *P.S. There was a proposal of simply using a naming convention instead of a modifier. This comment explains why we decided in favour of a modifier. Also note that this convention would be used a lot more often than others, and others are subject to reconsideration under the upcoming language design review.*
48 |
--------------------------------------------------------------------------------
/original/Free Kotlin Webinar on Wednesday, October 10th.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Free Kotlin Webinar on Wednesday, October 10th"
3 | date: 2012-09-25 11:06:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2012/09/free-kotlin-webinar-on-wednesday-october-10th/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Join me (Andrey Breslav) and [Hadi Hariri](http://www.jetbrains.com/devnet/academy/experts/Hadi_Hariri.html) in a [webinar](https://www4.gotomeeting.com/register/662905759) about [Kotlin M3](http://blog.jetbrains.com/kotlin/2012/09/kotlin-m3-is-out/) . We will discuss the new features and our plans, give some demos and answer **your questions**.
18 | The free webinar will take place **Wednesday, October 10th at 16:00** [CET (Central European Time)](http://wwp.greenwichmeantime.com/time-zone/europe/european-union/central-european-time/) . Space is **limited**, please [register here](https://www4.gotomeeting.com/register/662905759) .
19 | Looking forward to meeting you there! And have a nice Kotlin!
20 |
--------------------------------------------------------------------------------
/original/Full-Day Kotlin Workshop October 6th in Malmö, Sweden.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Full-Day Kotlin Workshop October 6th in Malmö, Sweden"
3 | date: 2014-08-20 14:53:00
4 | author: Robert Demmer
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2014/08/full-day-kotlin-workshop-october-6th-in-malmo-sweden/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Edument, a JetBrains Training and Consulting Partner, will be providing a full day of Kotlin hacking on Monday, October 6, 2014, in the lovely city of Malmö.
18 |
19 | * Full-Day Kotlin Workshop: learn more and register now.
20 |
21 | The hands-on workshop will begin by walking through the basic syntax, and work its way towards unit testing and language features such as object orientation and functional programming. In the afternoon we will consider use-cases such as writing a domain-specific language and seeing how the syntax and semantics of Kotlin help with some common problems that you may encounter in languages such as Java and C#.
22 | Snacks and drinks will be provided during the day.
23 | Space for this Kotlin Workshop is limited; learn more and register now.
24 |
--------------------------------------------------------------------------------
/original/Gradle Daemon Support for Faster Compilation.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Gradle Daemon Support for Faster Compilation"
3 | date: 2015-08-05 15:20:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/08/gradle-daemon-support-for-faster-compilation/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We are currently working on improving compilation times. Today we are happy to invite you to try Kotlin `0.12.1230` making use of the Gradle Daemon. It eliminates startup costs, and your builds run faster.
18 | ## Background
19 |
20 | Among other things, loading classes of the compiler and warmup activities of the JVM seem to contribute a lot to the time it takes `kotlinc` to run. This is why we are looking into ways of using the same compiler instance over and over again: no need for loading gives better compilation times.
21 | Since other tools running on the JVM seem to suffer from the same issues, there’s substantial infrastructure facilitating such things. Gradle has its [Daemon](https://docs.gradle.org/current/userguide/gradle_daemon.html) , a long-running process (actually, it can be many processes) whose essential function is to keep tools loaded and therefore run them without the startup costs of class loading and JIT-compilation.
22 | ## Try it out
23 |
24 | We have fixed some issues that prevented Kotlin to leverage this functionality. It works reliably in Gradle 2.4 and higher (for Gradle upgrade instructions see [Gradle docs](https://docs.gradle.org/current/userguide/gradle_wrapper.html) ). Android Studio uses the daemon by default, so you don’t have much to do, simply specify Kotlin version “0.12.1230” in your `build.gradle` file:
25 |
26 | {% raw %}
27 |
28 | {% endraw %}
29 |
30 | ```kotlin
31 | buildscript {
32 | repositories {
33 | ...
34 | }
35 | dependencies {
36 | classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.1230'
37 | ...
38 | }
39 | }
40 | ```
41 |
42 | {% raw %}
43 |
44 | {% endraw %}
45 |
46 | **NOTE**: we get the full-scale speedups only after a few runs of the build. The first time we run cold and wait for the warmup, the second time most of the warmup is gone, and the build completes faster. Subsequent runs may get slightly faster too, because of the JIT.
47 | ## Feedback
48 |
49 | Please tell us if your builds have gotten faster with this change. Some project details (like LOCs and actual build times) would be appreciated.
50 | Thanks!
51 |
--------------------------------------------------------------------------------
/original/Gradle Meets Kotlin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Gradle Meets Kotlin"
3 | date: 2016-05-18 06:18:00
4 | author: Hadi Hariri
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/05/gradle-meets-kotlin/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Back at **JavaOne 2015**, during a lunch break we started chatting with **Hans Dockter, CEO of Gradle**. A couple of days after the conference, a few of us were at the Gradle offices talking about what would be the beginning of the collaboration between JetBrains and Gradle; to bring first-class tooling and support for a static language to Gradle.
18 | Today, at the [Kotlin Night in San Francisco](http://info.jetbrains.com/Kotlin-Night-2016.html)
--------------------------------------------------------------------------------
/original/Hello World.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Hello World"
3 | date: 2011-07-19 22:13:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2011/07/hello-world-2/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Today at the [JVM Language Summit](http://openjdk.java.net/projects/mlvm/jvmlangsummit/) , JetBrains is unveiling the new project we’ve been working on for almost a year now. The project is **Kotlin**, a new statically typed programming language for the JVM.
18 | With Kotlin, we’re building upon the many years of experience creating development tools for different languages, and hoping to provide a language which is productive enough for today’s environment and at the same time simple enough for the ordinary programmer to learn.
19 | Right now Kotlin is under active development and nowhere near mature enough to be used by anyone outside of the development team. What you can do today is read the [language documentation](http://confluence.jetbrains.net/display/Kotlin/Welcome) and leave feedback on the design of the language — what features you like, which ones are missing, what’s confusing and so on.
20 | One thing to note: since we’re a development tools company, we’re building first-class IDE support for Kotlin in parallel with the language itself. And as soon as the language reaches its beta stage (currently planned for the end of 2011), we’ll release both the compiler and the development tools as open-source under the Apache 2 license.
21 | There’s still a huge amount of work ahead of us, and we’re excited to hear what you guys think about our latest endeavor. So let the discussions begin!
22 |
--------------------------------------------------------------------------------
/original/Join Live Webinar — Functional Programming with Kotlin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Join Live Webinar — Functional Programming with Kotlin"
3 | date: 2015-10-19 12:43:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/10/join-live-webinar-functional-programming-with-kotlin/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Join us this **Thursday, October 22nd, 14:00 – 15:00 GMT** (10:00 – 11:00 AM EDT) for our free webinar, [Functional Programming with Kotlin](http://info.jetbrains.com/Kotlin-Webinar-October2015-registration.html) with Mike Hearn
18 | In this talk, Mike Hearn will provide a brief introduction to programming in Kotlin via worked, practical examples, with a focus on functional programming.
19 | Topics covered will include:
20 |
21 | * Use of functional transforms
22 | * Immutability
23 | * Lazyness and working with lazy infinite sequences
24 | * The use of funKtionale, a library that extends Kotlin with a few features known from Haskell
25 | * Pattern matching
26 | * Reactive user interfaces
27 |
28 | Everyone is [welcome](http://info.jetbrains.com/Kotlin-Webinar-October2015-registration.html) !
29 | You can ask questions to Mike and suggest themes for future webinars in comments.
30 |
--------------------------------------------------------------------------------
/original/Join Live Webinar — Quasar and Kotlin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Join Live Webinar — Quasar and Kotlin"
3 | date: 2015-09-14 12:00:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/09/join-live-webinar-quasar-and-kotlin/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Join us
18 | **Wednesday, September 16th, 16:00 – 17:00 CET** (10:00 – 11:00 AM EDT) for our free webinar, [Quasar: Efficient and Elegant Fibers, Channels and Actors](http://info.jetbrains.com/Kotlin-Webinar-September2015-registration.html) with Fabio Tudone.
19 | Quasar fibers bring true lightweight threads to the JVM as well as Erlang-like actors, Go-like channels and Dataflow programming: this means we can efficiently use straightforward blocking APIs and regular stack-based control flow rather than submitting to cumbersome and infectious async and monadic styles.
20 | After an introduction about fibers, their workings and Quasar’s additional abstractions we’ll explore how Quasar uses Kotlin
21 |
22 | * data classes
23 | top-level functions
24 | lambdas
25 | annotated expressions
26 | when-expressions
27 | inline functions
28 | * top-level functions
29 | lambdas
30 | annotated expressions
31 | when-expressions
32 | inline functions
33 | * lambdas
34 | annotated expressions
35 | when-expressions
36 | inline functions
37 | * annotated expressions
38 | when-expressions
39 | inline functions
40 | * when-expressions
41 | inline functions
42 | * inline functions
43 |
44 | to offer an extremely lean and expressive API.
45 | Everyone is [welcome](http://info.jetbrains.com/Kotlin-Webinar-September2015-registration.html) !
46 | You can ask questions to Fabio and suggest themes for future webinars in comments.
47 |
--------------------------------------------------------------------------------
/original/Kotlin 1.0.1 is Here!.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.0.1 is Here!"
3 | date: 2016-03-16 23:54:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/03/kotlin-1-0-1-is-here/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | It’s been a month since we released [Kotlin 1.0](http://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-released-pragmatic-language-for-jvm-and-android/) , and while our user base roughly doubled during this time, we prepared the first bugfix update.
18 | Kotlin 1.0.1 starts a series of 1.0.X versions delivering safe bug fixes and performance improvements to the language (as well as other parts of the project), and new features to our tools and integrations. This time it’s only relatively small IDE features, but bigger things are on the horizon for 1.0.2 and later.
19 | ## Changes in 1.0.1
20 |
21 | Please find the full change log [here](https://github.com/JetBrains/kotlin/releases/tag/1.0.1) . Some numbers and highlights:
22 |
23 | * it’s 47 fixes in the compiler, library and Gradle plugin improvements (performance),
24 | * Compatibility with Gradle 2.12,
25 | * IDE features:
26 |
27 |
28 | Compatibility with IDEA 2016,
29 | Kotlin Education Plugin (for IDEA 2016),
30 | KT-9752 More usable file chooser for “Move declaration to another file”,
31 | KT-9697 Move method to companion object and back,
32 | * Compatibility with IDEA 2016,
33 | * Kotlin Education Plugin (for IDEA 2016),
34 | * KT-9752 More usable file chooser for “Move declaration to another file”,
35 | * KT-9697 Move method to companion object and back,
36 | * and 39 assorted fixes in the IDE.
37 |
38 | We thank the participants of the EAP who tried the preview builds and reported feedback. Please join the [EAP](https://discuss.kotlinlang.org/t/kotlin-1-0-1-eap/1525) and let’s make Kotlin better together!
39 |
--------------------------------------------------------------------------------
/original/Kotlin 1.0.3 Is Here!.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.0.3 Is Here!"
3 | date: 2016-06-30 18:52:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/06/kotlin-1-0-3-is-here/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We are delighted to present **Kotlin 1.0.3**. This update is not full of brand new and shiny features, it is more about bug fixes, tooling improvements and performance boosts. That’s why you’ll like it 😉 Take a look at the full [change log](https://github.com/JetBrains/kotlin/blob/1.0.3/ChangeLog.md) and issues stats by subsystem:
18 |
19 |
20 |
21 | Specifically we want to express our gratitude to our contributors whose commits are included in 1.0.3 namely [Yaroslav Ulanovych](https://github.com/yarulan) , [Jake Wharton](https://github.com/JakeWharton) and [Kirill Rakhman](https://github.com/cypressious) . Kirill has done more than a dozen improvements to formatter and submitted 20+ commits — great job, Kirill, we really appreciate it. Here we also want to thank each and every one of our EAP users who tested and provided their priceless feedback on 1.0.3 prerelease builds.
22 | Although this update is not feature-rich, there are several important improvements and features which are worth highlighting here:
23 | ## What’s new in the compiler:
24 |
25 |
26 | * New option -jdk-home to specify the JDK against which the code is compiled
27 | * Options to specify Kotlin language version (-language-version) and target Java version (-jvm-target) (will have effect in 1.1, added now for forward compatibility)
28 | * More efficient bytecode (no more iterator in indices loop, avoid unnecessary operations with Unit)
29 | * Various improvements to diagnostic messages
30 |
31 | ## What’s new in the IDE:
32 |
33 |
34 | * Autosuggestion for Java to Kotlin conversion for Java code copied from browser and other sources outside of the IDE
35 |
36 |
--------------------------------------------------------------------------------
/original/Kotlin 1.0.7 is out.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.0.7 is out"
3 | date: 2017-03-15 22:21:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-0-7-is-out/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We’re happy to announce that Kotlin 1.0.7, the last update in the Kotlin 1.0.x series, is out. The main focus of this update is to backport the fixes related to Gradle and annotation processing so that they become available to those who can’t upgrade to version 1.1 at this time. The complete list of fixes is available in the [changelog](https://github.com/JetBrains/kotlin/blob/1.0.7/ChangeLog.md) .
18 | To use the new version in your Maven or Gradle builds, simply change the Kotlin version number in your build scripts. The command-line compiler can be downloaded from the [Github release page](https://github.com/JetBrains/kotlin/releases/tag/v1.0.7) .
19 | In IntelliJ IDEA and Android Studio, we recommend to use the 1.1 version of the plugin, and to switch the language version to 1.0 if you’re using Kotlin 1.0.7 to build your project. If you do want to install the version 1.0.7 of the plugin, you can do so by downloading the version for your IDE from the [Kotlin plugin Web site](https://plugins.jetbrains.com/plugin/6954-kotlin) and using the “Install plugin from disk…” button.
20 | As usual, if you run into any problems with the new release, you’re welcome to ask for help on the [forums](https://discuss.kotlinlang.org/) , on Slack (get an invite [here](http://kotlinslackin.herokuapp.com/) ), or to report issues in the [issue tracker](https://youtrack.jetbrains.com/issues/KT) .
21 | Let’s Kotlin!
22 |
--------------------------------------------------------------------------------
/original/Kotlin 1.1 Event Report.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.1 Event Report"
3 | date: 2017-04-06 23:21:00
4 | author: Alina Dolgikh
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/04/kotlin-1-1-event-report/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | The Kotlin 1.1 release was warmly met by the community. To demonstrate the new features in Kotlin 1.1, JetBrains offered an online event. All those interested were able to watch a live stream of Andrey Breslav’s demo presentation and get their questions answered during a Q&A session.
18 | This motivated many local communities to meet up: more than 30 user groups hosted events in 21 countries.
19 | You can find the full list of the events at [the Kotlin community web page](http://kotlinlang.org/community/talks.html?time=kotlin) . Over 3000 people joined the broadcast on the day of the event.
20 | The recording of the demo presentation and the Q&A is available on YouTube:
21 |
22 | {% raw %}
23 |
24 | {% endraw %}
25 |
26 |
27 | {% raw %}
28 |
29 | {% endraw %}
30 |
31 | ## Kotlin 1.1 Event Feedback
32 |
33 | If you watched the live stream, we want to know what you think! Please share your feedback by [completing this form](https://docs.google.com/forms/d/e/1FAIpQLSdgKsJzwc1ToAusi-xpEiiE1O4t3HA5xjlbZXDU5Mg0i3qvNg/viewform) . It should only take about 7-10 minutes. Your input is very important in helping us improve all future Kotlin events.
34 | ## Kotlin Future Features Survey
35 |
36 |
37 |
38 | We also offered all communities to make an impact on Kotlin future. Event organizers received survey kits and event participants could have a say on the most expected features in an off-line mode. The survey gained much attention, and we’ve now placed it online to listen to the wider community. Now you can [have your say on the Kotlin future](https://docs.google.com/forms/d/e/1FAIpQLSdnCgBonEV5pwN8L903BzdYb9Baf0dpwsJ5YrKnxLveiLFkEQ/viewform) online!
39 | Please note it’s more likely that you won’t see those features in v1.2, but we will take your opinion into account when prioritizing our work.
40 |
--------------------------------------------------------------------------------
/original/Kotlin 1.1 Event in Your City.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.1 Event in Your City"
3 | date: 2017-03-21 21:51:00
4 | author: Alina Dolgikh
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1-event-in-your-city-2/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We are holding the [Kotlin 1.1 event on March 23](https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1-event-2/#more-4726) . Tune in to the live stream [at JetBrains TV](http://jb.gg/kotlinevent1_1) and see **Andrey Breslav’s demo presentation** about the key features of Kotlin 1.1, including coroutines, JavaScript back-end and more.
18 | Start tweeting your questions today and get answers during the **Q&A session live stream** on March 23. Use the hashtag #kotlinqa.
19 | We hold 2 live streams to accommodate different time zones. See **the detailed schedule and guidelines** [in the blogpost](https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1-event-2/#more-4726) .
20 | Check if there is a **Kotlin 1.1 event in your city**. If you don’t find a local community event, join the live stream individually.
21 |
22 | {% raw %}
23 |
24 | {% endraw %}
25 |
26 | Please note that the time of the live stream for the US has been changed to PDT time. The first live stream will start at 9 am PDT and the second at 11 am PDT.
27 |
--------------------------------------------------------------------------------
/original/Kotlin 1.1 What’s coming in the standard library.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.1: What’s coming in the standard library"
3 | date: 2017-01-25 00:15:00
4 | author: ilya.gorbunov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/01/kotlin-1-1-whats-coming-in-the-standard-library/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | ## Java 9 preparations
18 |
19 | Java 9 is coming and brings [Project Jigsaw](http://openjdk.java.net/projects/jigsaw/spec/sotms/) to the table — the Java platform module system. One of the constraints it imposes is that no two modules can declare public API in the same package. The situation, when there are two modules that contribute to the same package, is called “split” package.
20 | We face this issue with split packages in our runtime artifacts: first, kotlin-runtime and kotlin-stdlib modules share a lot of kotlin.* packages, second, kotlin-runtime and kotlin-reflect share kotlin.reflect package. What we’re going to do to make our artifacts more friendly to the module system:
21 |
22 | 0. We merge kotlin-runtime and kotlin-stdlib into the single artifact kotlin-stdlib. Also we’re going to rename kotlin-runtime.jar, shipped in the compiler distribution, to kotlin-stdlib.jar, to reduce the amount of confusion caused by having differently named standard library in different build systems.
23 |
24 | That rename will happen in two stages: in 1.1 there will be both kotlin-runtime.jar and kotlin-stdlib.jar with the same content in the compiler distribution, and in 1.2 the former will be removed.
25 |
26 |
--------------------------------------------------------------------------------
/original/Kotlin 1.1-What’s coming in the standard library.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.1: What’s coming in the standard library"
3 | date: 2017-01-25 00:15:00
4 | author: ilya.gorbunov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | translator:
13 | translator_url:
14 | source_url: https://blog.jetbrains.com/kotlin/2017/01/kotlin-1-1-whats-coming-in-the-standard-library/
15 | ---
16 |
17 | ## Java 9 preparations
18 |
19 | Java 9 is coming and brings [Project Jigsaw](http://openjdk.java.net/projects/jigsaw/spec/sotms/) to the table — the Java platform module system. One of the constraints it imposes is that no two modules can declare public API in the same package. The situation, when there are two modules that contribute to the same package, is called “split” package.
20 | We face this issue with split packages in our runtime artifacts: first, kotlin-runtime and kotlin-stdlib modules share a lot of kotlin.* packages, second, kotlin-runtime and kotlin-reflect share kotlin.reflect package. What we’re going to do to make our artifacts more friendly to the module system:
21 |
22 | 0. We merge kotlin-runtime and kotlin-stdlib into the single artifact kotlin-stdlib. Also we’re going to rename kotlin-runtime.jar, shipped in the compiler distribution, to kotlin-stdlib.jar, to reduce the amount of confusion caused by having differently named standard library in different build systems.
23 |
24 | That rename will happen in two stages: in 1.1 there will be both kotlin-runtime.jar and kotlin-stdlib.jar with the same content in the compiler distribution, and in 1.2 the former will be removed.
25 |
26 |
--------------------------------------------------------------------------------
/original/Kotlin 1.1.1 is out.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin 1.1.1 is out"
3 | date: 2017-03-14 20:29:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/03/kotlin-1-1-1-is-out/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Today we’re releasing the first bugfix update for **Kotlin 1.1**. The primary focus of this update is to address regressions causing incorrect code generation; we wanted to get those fixes out as quickly as possible. The details are available in the [changelog](https://github.com/JetBrains/kotlin/blob/1.1.1/ChangeLog.md) .
18 | The specific changes worth highlighting are:
19 |
20 | * Gradle incremental compilation is now enabled by default. You can still turn it off as described in the documentation if you need to.
21 | * Kotlin plugins are now available in the Gradle plugin portal. See the documentation for usage instructions.
22 | * Using function types with receivers as parameter types of JavaScript external declarations is no longer allowed. Previously, lambdas passed to such parameters weren’t invoked with correct arguments, and there’s no easy workaround for this issue, so for now we’ve decided to disable the functionality.
23 |
24 | We’ve also updated the Kotlin [Eclipse](https://marketplace.eclipse.org/content/kotlin-plugin-eclipse) and [NetBeans](http://plugins.netbeans.org/plugin/68590/kotlin) plugins to include Kotlin 1.1.1, so you can enjoy the benefits of the new Kotlin version regardless of your IDE choice.
25 | ## How to update
26 |
27 | To update the IDEA plugin, use Tools | Kotlin | Configure Kotlin Plugin Updates and press the “Check for updates now” button. Also, don’t forget to update the compiler and standard library version in your Maven and Gradle build scripts.
28 |
29 | The command-line compiler can be downloaded from the [Github release page](https://github.com/JetBrains/kotlin/releases/tag/v1.1.1) .
30 | As usual, if you run into any problems with the new release, you’re welcome to ask for help on the [forums](https://discuss.kotlinlang.org/) , on Slack (get an invite [here](http://kotlinslackin.herokuapp.com/) ), or to report issues in the [issue tracker](https://youtrack.jetbrains.com/issues/KT) .
31 | Let’s Kotlin!
32 |
--------------------------------------------------------------------------------
/original/Kotlin Census 2017.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Kotlin Census 2017
3 | author: Roman Belov
4 | date: 2017-10-18 18:55:00
5 | source_url: https://blog.jetbrains.com/kotlin/2017/10/kotlin-census-2017/
6 | tags:
7 | categories: 官方动态
8 | ---
9 |
10 | Hello!
11 | Every year we run the Kotlin Census survey so we can get the latest feedback from you, and how you are using Kotlin in your projects. If you still don’t use Kotlin, we would like to understand your reasons why and your opinion of the language is exceptionally important for us as well. If you filled out the survey last year, thank you, it would be really helpful if you could please do it again: we’re interested in the up-to-date information, we’ve also added a few new questions and response options based on last year’s results.
12 | As such, we’re asking you if you could kindly give us two minutes of your time and fill out the following survey.
13 | Please note that by providing us with your details, you are not automatically giving us consent to use your name, application or company name. We would always ask for written confirmation from you before doing so.
14 |
15 | {% raw %}
16 |
17 | {% endraw %}
18 |
19 | Thank you!
20 | // ');
22 | // ]]>Industry leading security – <a href=”https://www.surveygizmo.com/”>SurveyGizmo</a>. <a href=”https://www.surveygizmo.com/s3/3910712/951a8e107774??jsfallback=true”>Please take my survey now</a>
23 |
--------------------------------------------------------------------------------
/original/Kotlin Eclipse Plugin 0.7 Is Here!.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Eclipse Plugin 0.7 Is Here!"
3 | date: 2016-06-03 17:48:00
4 | author: Nikolay Krasko
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/06/kotlin-eclipse-plugin-0-7-is-here/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We are happy to present a new release of our plugin for Eclipse IDE. Along with the support for Kotlin **1.0.2** compiler, this update brings very important features and improvements.
18 |
19 | {% raw %}
20 |
21 | {% endraw %}
22 |
23 | The code formatting feature was rebuilt in this release. Instead of our first naive implementation we have mostly managed to port the advanced formatter from the Kotlin IntelliJ Idea plugin into Eclipse. This means that [a lot of fixes](https://youtrack.jetbrains.com/issues/KT?q=Formatter%20State:%20Fixed%20Subsystems:%20IDE) are already there and upcoming improvements will be picked up automatically!
24 |
25 | {% raw %}
26 |
27 | {% endraw %}
28 |
29 | New line auto-indent also benefitted from this code reuse and now shows far more predictable and smart behaviour.
30 | It was possible to add missing classes imports one-by-one with a quick-fix since 0.1.0 version, and now we’ve improved on that by introducing the *Organize Imports* feature. It will clean unused imports, add missing imports for classes used in the file and resort them.
31 |
32 | {% raw %}
33 |
34 | {% endraw %}
35 |
36 | Our completion got several fixes in prioritizing variants and is now far more usable. Also not-imported classes are now suggested in completion popup at once and will be inserted together with the corresponding import.
37 |
38 | {% raw %}
39 |
40 | {% endraw %}
41 |
42 | Several quick-fixes about missing or illegal modifiers were added:
43 |
44 | * It’s now possible to add an open modifier to a declaration which is overridden or subclassed.
45 |
46 |
--------------------------------------------------------------------------------
/original/Kotlin Educational Plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Educational Plugin"
3 | date: 2016-03-17 18:47:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/03/kotlin-educational-plugin/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We always said that Kotlin is really easy to learn. And it is! But it’s not only about the language: learning materials make a difference too. Today we are making another important step in this direction. We are happy to present Kotlin Educational Plugin.
18 |
19 | {% raw %}
20 |
21 | {% endraw %}
22 |
23 | Kotlin Edu is a plugin for IntelliJ [IDEA 2016.1](http://blog.jetbrains.com/idea/2016/03/intellij-idea-2016-1-is-here/) which lets you take learning courses. A course contains a number of tasks, and every task has several placeholders which you need to fill in correctly to solve it.
24 | At the moment, there is only one course — the well-known Kotlin Koans, which has been available [online](http://try.kotlinlang.org/koans) for some time and gained considerable popularity among Kotlin learners. The offline versions of the Koans has pretty similar user experience but with all strengths of refactorings and intention actions available in IntelliJ IDEA!
25 | If you have any questions about Kotlin Koans, feel free to ask them in the *#koans* channel in [our Slack](http://kotlinslackin.herokuapp.com) .
26 | P.S. If you want to create your own course, contact us directly [via email](mailto:roman.belov@jetbrains.com) .
27 |
--------------------------------------------------------------------------------
/original/Kotlin Goes Open Source!.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Goes Open Source!"
3 | date: 2012-02-14 10:32:00
4 | author: Ann Oreshnikova
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2012/02/kotlin-goes-open-source-2/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 |
--------------------------------------------------------------------------------
/original/Kotlin Night in London.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Night in London"
3 | date: 2016-09-28 12:48:00
4 | author: Hadi Hariri
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/09/kotlin-night-in-london/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We’re holding another [Kotlin Night](https://info.jetbrains.com/Kotlin-Night-London.html) , but this time in London. We’ve brought together members of the community that have been and are currently using Kotlin in production, to come and speak to us about their experiences. As well as share some tips and tricks.
18 | In collaboration with Trifork and GOTO London 2016, we’re holding this free event on the **12th of October 2016** at the CodeNode venue. We’ll have talks, chats and drinks.
19 |
20 | Given spaces are limited, we encourage you to [sign up sooner rather than later](https://info.jetbrains.com/Kotlin-Night-London.html) !
21 |
22 | {% raw %}
23 |
24 | {% endraw %}
25 |
26 |
27 | {% raw %}
28 |
29 | {% endraw %}
30 |
31 | For details on talks, please check the [event page](https://info.jetbrains.com/Kotlin-Night-London.html) .
32 | 17:30 – 18:00 – **Registration and Welcome**
33 | 18:00 – 18:45 –** 10 Things I’m loving about Kotlin. ***Graham Tackley. Kaleida*
34 | 18:45 – 19:30 – **Expressive Kotlin. ***Nat Pryce and Duncan McGregor, Springer Nature*
35 | 19:30 – 20:00 – **Snacks and Drinks**
36 | 20:00 – 20:45 – **Using Sealed Classes to build Concursus API. ***Dominic Fox, OpenCredo*
37 |
38 | {% raw %}
39 |
40 | {% endraw %}
41 |
42 | ## GOTO Conference and Kotlin Workshop
43 |
44 | We’re also offering a [discount for GOTO London 2016](https://secure.trifork.com/london-2016/registration/registration.jsp?promotionCode=kotlin100) which can be used either for the conference or the [full day Kotlin Workshop being held](https://gotocon.com/london-2016/presentations/show_presentation.jsp?oid=7892) .
45 |
--------------------------------------------------------------------------------
/original/Kotlin Session and JetBrains Booth at 33rd Degree Conference.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Session and JetBrains Booth at 33rd Degree Conference"
3 | date: 2013-03-01 09:09:00
4 | author: Robert Demmer
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2013/03/kotlin-session-and-jetbrains-booth-at-33rd-degree-conference/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | JetBrains and Kotlin are participating in the 33rd Degree Conference in **Warsaw, Poland**. Join 1,200 attendees **March 13-15** for [92 sessions](http://2013.33degree.org/main/schedule) from [58 speakers](http://2013.33degree.org/speaker/list) . Come by our booth and learn what’s new in **Project Kotlin**, as well as the upcoming **IntelliJ IDEA 12.1 release**. Be sure to mark your calendar for our **two sessions** with JetBrains Technical Evangelist [Hadi Hariri](https://twitter.com/hhariri) .
18 |
19 | {% raw %}
20 |
21 | {% endraw %}
22 |
23 | **Kotlin: Beyond Dogmatism**
24 | *Thursday, March 14th, 10:10 AM – 11:10 AM, Room D*
25 | Kotlin is a new language developed by JetBrains and licenses under Apache 2 OSS License, targeting the JVM and JavaScript. When presented, the typical questions asked are “Why another language? What core fundamentals does it bring to the table?” Tell you what, let’s move beyond dogmatism and be pragmatic. Let’s focus on the problems we’re trying to solve when developing applications and see why and how Kotlin can help us.
26 | **Developers: Prima Donnas of the 21st Century**
27 | *Friday, March 15th from 13:10 – 14:10*
28 | “We are developers. We are creators. We are misunderstood by customers, by managers and even co-workers; we are undervalued and often overworked. People don’t appreciate the value we put in our craft and our drive for innovation. We are central to business in the 21st century yet people don’t appreciate us!” Of course you are, but you also forgot to mention: You suck at communication. You often put business at risk based on personal ambitions and waste serious amounts of time trying to improve and discuss the wrong things, all in the name of the next great thing that’s going to solve it all. You’ve completely forgotten the plot! Don’t believe me? Why don’t you come along to this talk and get a wakeup call. But don’t expect to be treated nicely.
29 | For full details on the event please visit [33rd Degree Conference website](http://2013.33degree.org/) .
30 |
--------------------------------------------------------------------------------
/original/Kotlin Session at Devoxx, November 16th.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Session at Devoxx, November 16th"
3 | date: 2012-11-08 12:09:00
4 | author: Robert Demmer
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2012/11/devoxx-kotlin-session/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | November 12th-16th the JetBrains team will travel to**Devoxx** in Antwerp, Belgium. We would like to invite you to stop by our **booth** and also to our **Kotlin session** with [Hadi Hariri](http://twitter.com/hhariri) .
18 | Join us for ***Putting Kotlin to the Test***, **Friday**, **November 16th** from **11:50am – 12:50pm**.
19 | We look forward to meeting you there!
20 |
--------------------------------------------------------------------------------
/original/Kotlin Skills Matter Events in London, England.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Skills Matter Events in London, England"
3 | date: 2013-01-28 09:51:00
4 | author: Robert Demmer
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2013/01/kotlin-skills-matter-events-in-london-england/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | JetBrains has two free Kotlin events coming to London in April and May. Both sessions will be held at [Skills Matter eXchange](http://skillsmatter.com/location-details/home/1611/96) and registration is required. We hope to see you there!
18 | **In the Brains of Andrey Breslav: Introduction to Kotlin**
19 | Join Andrey for his talk **Wednesday, April 3rd at 18:30** and get an overview of the Kotlin language and the principles behind it. Among other things, the following features will be covered:
20 |
21 | * Static null-safety
22 | * Extension functions
23 | * Higher-order functions and type-safe builders
24 | * Smart casts: Kotlin’s lightweight pattern matching
25 | * Enhancing existing Java APIs with Kotlin
26 | * Developing mixed Kotlin/Java projects
27 |
28 | **Hadi Hariri’s Introduction to Kotlin Workshop**
29 | Hadi will be hosting a free workshop **Thursday, May 2nd beginning at 9:00 AM**. There will be a **limit of 20 delegates** so you need to be quick. Lunch will be provided courtesy of JetBrains.
30 | In this hands-on workshop, you will learn about the basics of the language. You’ll discover some of the advantages that it offers, understand how to get the best of Object Orientation and Functional paradigms, create custom DSL’s and remove some of the pain of other popular languages such as Java and C#. You’ll see how to test your code, interop with existing frameworks as well as discover some of the new frameworks, such as web development frameworks, already available for Kotlin.
31 | *The workshop will be hands-on, so bring your laptop, and for the best results, have IntelliJ Ultimate OR the free Community Edition installed.*
32 |
--------------------------------------------------------------------------------
/original/Kotlin Web Demo is out!.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin Web Demo is out!"
3 | date: 2012-01-10 19:16:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2012/01/kotlin-web-demo-is-out/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | It’s been a little more than a year since the first commit was pushed to our source control, and we are happy to announce the first public preview of Kotlin.
18 | This preview works as follows:
19 |
20 | * You go to http://kotlin-demo.jetbrains.com and it loads a code editor in your browser:
21 | * You check out examples, modify them or even solve our sample toy-problems;
22 | * You run your code on a JVM running on our server, so that you can use familiar JDK classes;
23 | * Or, alternatively, you compile you code to JavaScript and run it in your browser:
24 |
25 | Note that the JavaScript back-end is a pre-alpha version, so it may refuse to compile some of your programs.
26 |
27 |
28 | {% raw %}
29 |
30 | {% endraw %}
31 |
32 | **Experimental features**
33 | By default, you get error highlighting only when you run your program. But you can try out some of the features we are experimenting with and turn on “as-you-type” error highlighting:
34 |
35 | If you choose “Server”, the editor starts talking to a type checker service hosted on our server. If you choose “Client”, a type checker is loaded as a (so far rather big) Applet which runs on your machine.
36 | Both “Server” and “Client” options give you code completion as well:
37 |
38 | Please, note that these features are **experimental** and feel free to report any problems to us.
39 | **Coming soon**
40 | This demo will be developed further for you to have more fun. Among other things we plan to add the following:
41 |
42 | * Standard Library of extension functions that make using JDK collections and other common APIs more pleasant (things like map()/filter() and so on);
43 | * Code Challenge: currently we offer a few sample problems in the form of code snippets containing test data. This will be extended to contest-like automated testing system.
44 | * More Examples: There’s always some more to show off [Have fun!](http://kotlin-demo.jetbrains.com)
--------------------------------------------------------------------------------
/original/Kotlin Workshop Material for you to use.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Kotlin Workshop Material for you to use
3 | author: Hadi Hariri
4 | date: 2017-07-27 12:36:00
5 | source_url: https://blog.jetbrains.com/kotlin/2017/07/kotlin-workshop-material-for-you-to-use/
6 | tags:
7 | categories: 官方动态
8 | ---
9 |
10 | We’ve just pushed major updates to a new repository we created that contains material for a Kotlin Workshop. In addition to code samples covering all major Kotlin topics, it has presentation slides, as well as exercises and questions for students to complete.
11 | This is material that myself and others at JetBrains are using for Kotlin workshops that we’re delivering. It is divided up into Introduction and Advanced and usually pans across two days. We’ve licensed it under Creative Commons and you are welcome to use it for yourselves to learn Kotlin and/or deliver your own workshop. And of course, being open source, contributions are more than welcome!
12 | Kotlin Workshop Material
13 | ## Reminder of upcoming workshops
14 |
15 | As a reminder, if you’re interested in attending some of the upcoming workshops, myself and Svetlana will be delivering a few in the coming months:
16 |
17 | * 14th and 15th August – Sydney, Australia
18 | * 20th September – Melbourne, Australia
19 | * 28th September – Brisbane, Australia
20 | * 4th October – Oslo, Norway
21 |
22 | Hope to see some of you there!
23 |
--------------------------------------------------------------------------------
/original/Kotlin census call to action.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Kotlin census: call to action"
3 | date: 2016-09-01 17:06:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/09/kotlin-census-call-to-action/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Many times we’re asked by people working with or planning to work with Kotlin, what our adoption rate is and who’s using Kotlin and what for.
18 | While we do accept [pull requests](https://github.com/JetBrains/kotlin-web-site/blob/master/_data/companies-using-kotlin.yml) and run into an occasional *tweet* we would really like to know first-hand from you, whether you’re using Kotlin in production and if so, how, and what issues you have faced. This not only helps us answer the question when someone asks about our adoption, but learn more about our community. With close to 4000 people on our [Kotlin Slack](http://kotlinslackin.herokuapp.com/) alone, it’s hard to keep track of every piece of feedback!
19 | As such, we’re asking you if you could kindly give us two minutes of your time and fill out the following survey. Please note that by providing us your details, you are not automatically giving us consent to use your name, application or company name. We would ask for written confirmation from you before doing so.
20 | Thank you!
21 |
--------------------------------------------------------------------------------
/original/KotlinConf - Speaker List Announced.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: KotlinConf – Speaker List Announced
3 | author: Hadi Hariri
4 | date: 2017-07-17 14:53:00
5 | source_url: https://blog.jetbrains.com/kotlin/2017/07/kotlinconf-speaker-list-announced/
6 | tags:
7 | categories: 官方动态
8 | ---
9 |
10 | Is it November yet?
11 | KotlinConf 2017 is a little more than 100 days away and we are super excited to announce our 48 awesome speakers! We are thrilled to have such a wonderful group of people and companies representing the Kotlin community.
12 |
13 | {% raw %}
14 |
15 | {% endraw %}
16 |
17 |
18 | {% raw %}
19 |
20 | {% endraw %}
21 |
22 | Early Bird tickets have followed the lead of Super Early Bird registration, and have sold out. Regular admission tickets are available while supplies last. If you’re considering attending KotlinConf, wait no longer to register or you might miss out.
23 | As a reminder, KotlinConf will be held November 2-3 in beautiful San Francisco, California, at Pier 27. JetBrains team members and passionate community speakers will share their knowledge, experience and philosophy around Kotlin in a wonderful setting.
24 | Two days of learning, networking and fun await you. Register today and reserve your seat!
25 | We look forward to meeting you in San Francisco this fall!
26 |
--------------------------------------------------------------------------------
/original/KotlinConf 2017 Session Recordings and Photos are Here!.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: KotlinConf 2017 Session Recordings and Photos are Here!
3 | author: Robert Demmer
4 | date: 2017-12-08 12:26:00
5 | source_url: https://blog.jetbrains.com/kotlin/2017/12/kotlinconf-2017-session-recordings-and-photos-are-here/
6 | tags:
7 | categories: 官方动态
8 | ---
9 |
10 | At last, they’re here!
11 | All KotlinConf session recordings are now available with their accompanying slides. Watch the talks you missed, and rewatch the ones you loved, all at your own leisure! While you’re at it, take a look at the newly published photo gallery and see if you can find yourself, friends, or colleagues.
12 | For a quick recap, check out the highlights video below and if you want, continue straight through the KotlinConf playlist on JetBrainsTV.
13 | We would like to thank all of our wonderful speakers and take this opportunity to highlight some of the top talks as rated by KotlinConf attendees.
14 | Top Five Rated Talks:
15 | * Kotlin Puzzlers by Anton Keks
16 | * The Road to Kotlintown by Huyen Tue Dao and Christina Lee
17 | * Two Stones, One Bird: Implementation Tradeoffs by Christina Lee
18 | * Party Keynote by Michael Carducci
19 | * How to Kontribute by Yoshinori Isogai
20 | About KotlinConf 2017
21 | The first-ever KotlinConf took place November 2-3, 2017, at Pier 27 in San Francisco, California. The conference featured 50 speakers presenting 45 talks across 3 tracks. More than 1,200 passionate attendees from 46 countries participated at KotlinConf. None of this would have been possible without our 17 event partners.
22 | Thanks to all who took part, we hope to meet many more of you at future events!
23 |
--------------------------------------------------------------------------------
/original/Learn Kotlin with “Advent of Code”.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Learn Kotlin with “Advent of Code”"
3 | date: 2015-12-18 22:08:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/12/try-kotlin-with-advent-of-code/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Christmas is coming! Are you prepared? It’s time to gift yourself with a new language!
18 |
19 | Have you already checked out the amazing series of puzzles [“Advent of Code”](http://www.adventofcode.com) by [Eric Wastl](http://was.tl/) ? These tasks have pretty lean and expressive solutions in Kotlin due to it’s functional programming features.
20 | Try to solve them all! In Kotlin!
21 |
22 | {% raw %}
23 |
24 | {% endraw %}
25 |
26 | You can write your solutions in [IntelliJ IDEA Community Edition](https://www.jetbrains.com/idea/download/) which is free and supports Kotlin out of the box.
27 | Moreover you can solve tasks in the [Kotlin playground](http://try.kotlinlang.org) right in your browser. We’ve added special template for “Advent of Code” puzzles:
28 |
29 | {% raw %}
30 |
31 | {% endraw %}
32 |
33 | Wish You a Merry Kotlin!
34 |
--------------------------------------------------------------------------------
/original/Let’s Kode Together!.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Let’s Kode Together!"
3 | date: 2012-02-13 09:07:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2012/02/lets-kode-together/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | As [Kotlin Web Demo](http://kotlin-demo.jetbrains.com/) is the simplest way to try Kotlin. Today we unveil some new features that make it even more fun.
18 | **HTML5 Canvas**
19 | We added support for HTML5 Canvas (for the JavaScipt back-end) so that you can now do something like:
20 |
21 | Watch it in action on YouTube: [http://youtu.be/iee75Dtw83k](http://youtu.be/iee75Dtw83k) **Note** that in order to use Canvas, you need to select the JavaScript (Canvas) run configuration in the panel on the right.
22 | **Sharing your programs**
23 | Also, you can now save a program you wrote in and share a public link to it:
24 |
25 | 0. Go to the Web Demo, and log in with you Google, Facebook or Twitter account.
26 | 1. Write a program, e.g. solve a problem from the Problems section, Save it in your private space.
27 | 2. Share your solution with everyone: press the Public link button next to your saved program and press the button next to the URL, or share the link any other way.
28 |
29 | As an example, here’s a public link to the program from the video above:
30 | http://kotlin-demo.jetbrains.com/?publicLink=104074971561017308771626401859
31 | (It is written by Pavel Talanov.)
32 | **P.S.** BTW, you can now have **local functions** in your programs, as well as the new form of **when**.
33 |
--------------------------------------------------------------------------------
/original/MCE2015 Kotlin Session and JetBrains Booth.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "MCE2015: Kotlin Session and JetBrains Booth"
3 | date: 2015-01-15 14:32:00
4 | author: Robert Demmer
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/01/mce2015-kotlin-session-and-jetbrains-booth/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | **February 5th and 6th**, MCE2015 takes control of the iconic Kinoteka cinema at the **Palace of Culture and Science in Warsaw, Poland**. Initially a conference for developers by developers, this year’s event expands to embrace all mobile creators – developers, designers and tech leaders.
18 |
19 | At **MCE2015** and**JetBrains booth** will be Anastasia Kazakova, Maxim Medvedev and Svetlana Isakova, who has a talk at the conference. Come by and learn about the latest advancements in our tools for mobile development including: **Kotlin for Android** and **AppCode with Swift support**. You may also be interested in having a look at our recent interview with **Maxim discussing Swift support in AppCode**.
20 | Be sure to catch our Kotlin session on the second day of the conference.
21 | ## ***Kotlin, the Swift of Android***
22 |
23 | **Presented by Svetlana Isakova**
24 | **February 6th, 15:00, Auditorium 3**
25 | Apple has introduced “a better language” for iOS developers. But what options do we have for Android? Surely, Kotlin should be under consideration! Android Studio is now based on IntelliJ IDEA, the “native” environment for Kotlin.
26 | Kotlin can help you reduce the amount of code you write for Android applications and at the same time make it readable and more maintainable. In this session we’re going to see how certain constructs and DSL’s can be used to make Android more enjoyable.
27 |
--------------------------------------------------------------------------------
/original/Meet the Kotlin Team at Gradle Summit.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Meet the Kotlin Team at Gradle Summit"
3 | date: 2016-06-13 13:28:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2016/06/meet-the-kotlin-team-at-gradle-summit/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | You’ve probably heard the news announcing that you’ll soon be able to [write your Gradle build scripts and plugins in Kotlin](https://blog.jetbrains.com/kotlin/2016/05/gradle-meets-kotlin/) . At the Kotlin Night in San Francisco, Hans Dockter from Gradle demoed the first prototype of the support. After the initial announcement, we’ve continued our work together with the Gradle team to flesh out the prototype and bring it closer to the release. And next week, at the [Gradle Summit in Palo Alto](https://gradlesummit.com/) , we’ll be sharing the details on our progress.
18 | In addition to presentations by Gradle developers and users, you’ll see [the keynote by Dmitry Jemerov from the Kotlin team](https://gradlesummit.com/schedule/kotlin) , talking about the DSL support features of Kotlin and their use in the Gradle build script DSL. And in the expo area, you’ll be able to chat with developers working on Kotlin, IntelliJ IDEA and TeamCity, who will help you with any questions related to the use of Gradle together with JetBrains products.
19 | The summit will be on June 23-24th in Palo Alto, California, and [the registration is open](https://info.gradlesummit.com/conference/palo_alto/2016/06/register) . Looking forward to seeing you there!
20 |
--------------------------------------------------------------------------------
/original/More Deprecations Coming.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "More Deprecations Coming"
3 | date: 2015-04-06 12:55:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/04/more-deprecations-coming/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | There are two more items on the language cleanup list: backing-field syntax and static type assertion operator.
18 | ## Backing Fields
19 |
20 | When you have a property and you don’t implement at least one of its accessors (`get` or `set`) manually, such a property gets a *backing field*, i.e. a piece of storage holding its value:
21 |
22 | {% raw %}
23 |
24 | {% endraw %}
25 |
26 | ```kotlin
27 | var foo: Foo? = null
28 | set(v) {
29 | ...
30 | }
31 | // default getter is used
32 | ```
33 |
34 | {% raw %}
35 |
36 | {% endraw %}
37 |
38 | you can access the backing field through the name of the property prefixed with the `$` sign:
39 |
40 | {% raw %}
41 |
42 | {% endraw %}
43 |
44 | ```kotlin
45 | $foo = 2
46 | ```
47 |
48 | {% raw %}
49 |
50 | {% endraw %}
51 |
52 | This may be needed to bypass the custom accessor(s).
53 | This feature is rather rarely used, and also clashes visually with string templates (`"$foo"`, surprisingly, has nothing to do with backing fields), so we want to get rid of it.
54 | In case you really need it, your workaround is *backing property*:
55 |
56 | {% raw %}
57 |
58 | {% endraw %}
59 |
60 | ```kotlin
61 | private var _backing: Foo? = null
62 | var foo: Foo?
63 | get() = _backing
64 | set(v) {
65 | ...
66 | }
67 | ```
68 |
69 | {% raw %}
70 |
71 | {% endraw %}
72 |
73 | Since no getters or setters are generated for private properties, the resulting byte code will be exactly the same.
74 | ## Static Type Assertions
75 |
76 | Another rarely used feature is the following syntax:
77 |
78 | {% raw %}
79 |
80 | {% endraw %}
81 |
82 | ```kotlin
83 | foo(bar, null: Baz)
84 | ```
85 |
86 | {% raw %}
87 |
88 | {% endraw %}
89 |
90 | The type after colon in an expression specifies the *expected static type* of it, i.e. this is not a cast, but simply an instruction to the compiler to make sure that the static type of this expression is actually “Bar”. The fact that it’s hard to explain has something to do with this being rarely used (I think Kotlin’s test data is the only major client). So, we are withdrawing this syntax, and maybe will make use of it later (possibilities include array/list slices and C-style ternary conditionals).
91 | In case you needed this syntax to disambiguate your overloads, `as` is a good workaround.
92 |
--------------------------------------------------------------------------------
/original/Our first book about Kotlin is out.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Our first book about Kotlin is out"
3 | date: 2017-02-10 20:00:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/02/our-first-book-about-kotlin-is-out/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We’re happy to announce that [Kotlin in Action](https://www.manning.com/books/kotlin-in-action) – a book about Kotlin written by the members of the Kotlin team – is now out, as both a eBook and a printed book. The book is written for experienced Java developers and covers all aspects of the language, without focusing on any specific problem domain. We received a lot of positive feedback about the book during Manning’s Early Access Preview program, so we hope that you’ll enjoy it too!
18 |
19 | {% raw %}
20 |
21 | {% endraw %}
22 |
23 |
24 |
25 | Two chapters from the book, covering Kotlin’s type system and its support for domain-specific languages, are available as a [free preview](https://www.manning.com/books/kotlin-in-action#downloads) on the publisher’s Web site. And in our online mini-IDE for Kotlin, you can try out all examples from the book, starting from the [very first one](http://try.kotlinlang.org/#/Kotlin%20in%20Action/chapter%201/1.1/1.1_ATasteOfKotlin.kt) , also for free.
26 | To accompany the release of the book, Manning is offering a special discount, valid today only: you can get half off the book if you enter the code *dotd021017au* during checkout.
27 | Happy reading, and have a nice Kotlin!
28 |
--------------------------------------------------------------------------------
/original/Slides and Video Kotlin@JVMLS 2011.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Slides and Video: Kotlin@JVMLS 2011"
3 | date: 2011-09-07 15:25:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2011/09/video-kotlinjvmls-2011/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Our slides and video from the JVM Language Summit 2011 is available via [Dr. Dobb’s](http://drdobbs.com/java/231500204) . Enjoy.
18 |
--------------------------------------------------------------------------------
/original/Slides from the JVM Language Summit presentations.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Slides from the JVM Language Summit presentations"
3 | date: 2011-07-20 23:16:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2011/07/slides-from-the-jvm-language-summit-presentations/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Just a quick note: we’ve published the slides from the presentation and workshop that we gave on the JVM Language Summit.
18 | The [presentation](http://confluence.jetbrains.net/download/attachments/40702623/JVMLS_talk_2011.pdf?version=1&modificationDate=1311201742425) covers higher-order functions and typesafe builders, and the [workshop](http://confluence.jetbrains.net/download/attachments/40702623/JVMLS_workshop_2011.pdf?version=1&modificationDate=1311201781543) covers classes, multiple inheritance, generics and class objects.
19 |
--------------------------------------------------------------------------------
/original/Spek – A Specification Framework.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Spek – A Specification Framework"
3 | date: 2014-02-17 17:20:00
4 | author: Hadi Hariri
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2014/02/speka-specification-framework/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | For a while now, a [few](http://twitter.com/orangy) [of](http://twitter.com/jonyzzz) [us](https://plus.google.com/111179551284404865949/about) have been working on a project called Spek, a framework that allows you to write executable specifications. It allows you to write specifications (i.e. tests) in a more human-readable, and what’s more important, descriptive manner, without having to resort to long test names, underscores or regular expressions.
18 |
19 | {% raw %}
20 |
21 | {% endraw %}
22 |
23 | It’s now reached its first milestone where it’s suitable enough to start being used on projects and we’re ready for feedback and feature requests! It even has its [own site](http://jetbrains.github.io/spek) .
24 | ## A brief introduction
25 |
26 | Spek is a Specification Framework. If you’re familiar with Jasmine, Mocha, RSpec or Machine Specifications, then you’ll immediately see the resemblance.
27 |
28 | {% raw %}
29 |
30 | {% endraw %}
31 |
32 | If you’re not familiar, let me briefly explain:
33 |
34 | * Given – Establish the context of the test, i.e, Arrange
35 | * On – Execute the action, i.e. Act
36 | * It – Validate the results, i.e. Assert
37 |
38 | Spek allows you to have more than one action for the same context. That is for the same *given*you can have multiple *on’s*. It also allows you to have more than assertion (*it) *for the same action.
39 | ## Spek is not only for Kotlin
40 |
41 | Spek is written in Kotlin. Specifications you write will also be in Kotlin. However, as Kotlin is 100% compatible with Java, you can test new and existing Java code with Spek.
42 | ## How do I run it?
43 |
44 | IntelliJ IDEA supports Spek, so does TeamCity. There’s also a console runner which outputs Text and HTML (needs improvement).
45 |
46 | {% raw %}
47 |
48 | {% endraw %}
49 |
50 | ## Try it
51 |
52 | Hoping that you like what you see, head over to the [Spek web site](http://jetbrains.github.io/spek) to find out more. It’s still in “EAP” so the more issues reported, the better. And since it’s OSS (Apache 2) [contributions are more than welcome](http://github.com/jetbrains/spek) .
53 |
--------------------------------------------------------------------------------
/original/StrangeLoop Slides+Video.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "StrangeLoop Slides+Video"
3 | date: 2011-11-17 16:47:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2011/11/strangeloop-slidesvideo/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Slides and video from the talk I gave at [StrangeLoop](https://thestrangeloop.com/sessions/the-kotlin-programming-language) this year is available [here](http://www.infoq.com/presentations/The-Kotlin-Programming-Language) :
18 |
19 |
--------------------------------------------------------------------------------
/original/Talk @ GeekOUT Tallinn Language Design Trade-Offs (Kotlin and Beyond).md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Talk @ GeekOUT Tallinn: Language Design Trade-Offs (Kotlin and Beyond)"
3 | date: 2013-06-10 15:27:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2013/06/talk-geekout-tallinn-language-design-trade-offs-kotlin-and-beyond/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | This week I’m speaking at [GeekOUT Tallin](http://geekout.ee/) , and my colleagues Mikhail Vink and Sergey Karashevich are holding a 15-minute DEMO on Thursday, telling you about cool stuff in JetBrains’ IDEs.
18 | The topic of my talk is “**Language Design Trade-Offs (Kotlin and Beyond)**“, so one can summarize it as “why designing languages is SO interesting”.
19 |
20 | {% raw %}
21 |
22 | {% endraw %}
23 |
24 | **Abstract**
25 |
If your programming language is small, you’re probably born before 1950, and your first computer was bigger than your present apartment. And even those languages are not so small. One spends quite some time to master a programming language. Why?
26 |
Because there are very many decisions “compressed” into the form of a language. Nothing limits a programmer’s imagination like a compiler, and nothing limits a language design like a real world with all of its “legacy”, compatibility concerns, performance limitations, generations-old habits and leaky abstractions.
27 |
This talk is about tradeoffs: why we, as language designers, do (or rather did) this and not that.
28 | See you on [Friday, 14 June 2013 11:30 @ Room 2](http://geekout.ee/schedule/andrey-breslav-jetbrains-building-jvm-languages/) UPD:
29 |
30 | * Slides for this talk
31 | * More slides and videos about Kotlin
32 |
33 |
--------------------------------------------------------------------------------
/original/The Kotlin issue tracker is now public.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "The Kotlin issue tracker is now public"
3 | date: 2011-08-03 10:24:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2011/08/the-kotlin-issue-tracker-is-now-public/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | Following the tradition of other JetBrains projects, we’ve opened up the issue tracker for Kotlin to the public. In the issue tracker, you can see some of our thinking and things we’re working on, and you can also file issues asking for new features in the language or changes in the current design. We hope that the tracker will let us keep the discussion more structured than the comments in the blog and on Confluence pages.
18 | The URL for the tracker is: [http://youtrack.jetbrains.net/issues/KT](http://youtrack.jetbrains.net/issues/KT)
--------------------------------------------------------------------------------
/original/Try Kotlin in Your Browser New Look and More Features.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Try Kotlin in Your Browser: New Look and More Features"
3 | date: 2015-04-16 20:24:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/04/try-kotlin-in-your-browser-new-look-and-more-features/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We released [Kotlin Web Demo](http://kotlin-demo.jetbrains.com) quite a while ago, it did a good job helping people try Kotlin right in the browser and share runnable code with each other. Now, a shiny new version is ready, it’s time to retire the old one.
18 | Meet [try.kotlinlang.org](http://try.kotlinlang.org) , as new incarnation of a web-based mini-IDE for Kotlin.
19 | ## Features
20 |
21 | The new version brings
22 |
23 | * Shiny new design
24 | * Full-screen mode
25 | * JUnit support (including a smart Test Results view)
26 | * Multi-file projects (some files in our examples, such as tests, are read-only)
27 | * Navigation from stack traces to code
28 |
29 |
30 | {% raw %}
31 |
34 | {% endraw %}
35 |
36 | ## Sharing Your Code
37 |
38 | You can log in with your Google, Facebook or Twitter accounts. When logged in, you can create new projects and copy example projects to change them.
39 | Any saved project (our example or your custom code) can be shared by **simply copy-and-pasting the link from the address bar**.
40 | For example, here’s a [link to an example program](http://try.kotlinlang.org/#/Examples/Problems/Sum/Sum.kt) .
41 | And this is [the link to my code about expressing Go’s defer as a Kotlin library](http://try.kotlinlang.org/#/UserProjects/-1984665128/1040749715610173087711460271843) .
42 | ## Old Web Demo
43 |
44 | The old Web Demo is retired, and put into a read-only mode for the time being. You can still run your programs, but can not modify them or create new ones.
45 | All accounts and programs created for Kotlin Web Demo have been migrated to [try.kotlinlang.org](http://try.kotlinlang.org) .
46 | ## Feedback
47 |
48 | Your feedback is welcome, as usual.
49 | **Enjoy**!
50 |
--------------------------------------------------------------------------------
/original/Type-Safe Web with Kotlin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Type-Safe Web with Kotlin"
3 | date: 2013-06-17 18:13:00
4 | author: Andrey Breslav
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2013/06/type-safe-web-with-kotlin/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | We [told you](http://blog.jetbrains.com/kotlin/2013/01/an-interview-with-andy-selvig-author-of-kara-web-framework/) about [Kara Web Framework](http://karaframework.com/) a while ago. It is written in Kotlin and relies on type-safe builders. It doesn’t have to be the only web framework for Kotlin, but the general principles seem good, so I wrote an article about these principles: **Type-Safe Web with Kotlin**, it gives an overview of the framework design, and then gives many details about builders, extensions and so on.
18 | **Examples** used in this article are available at [https://github.com/abreslav/kara-files/blob/master/src/tutorial.kt](https://github.com/abreslav/kara-files/blob/master/src/tutorial.kt) and [https://github.com/abreslav/kara-files/blob/master/src/small_builder.kt](https://github.com/abreslav/kara-files/blob/master/src/small_builder.kt) **Slides** from my talk given at JPoint in Saint Petersburg are also available [online](https://prezi.com/hndtabwcfy5h/type-safe-web-with-kotlin-jpoint/) .
19 | The talk was given in Russian, video accessible is [here](http://javapoint.ru/talks/12/) .
20 |
--------------------------------------------------------------------------------
/original/Use Kotlin with npm, webpack and react.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Use Kotlin with npm, webpack and react"
3 | date: 2017-04-18 15:23:00
4 | author: Dmitry Jemerov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2017/04/use-kotlin-with-npm-webpack-and-react/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | With Kotlin 1.1, targeting JavaScript in the Kotlin compiler has officially reached production-ready status. Of course, having compiler support is not enough to be able to solve real-life problems, so we continue our work on integrating Kotlin into the larger JavaScript ecosystem.
18 | Today, we’d like to present two new projects: a Gradle plugin integrating Kotlin with npm, webpack and karma, and a full-stack application sample with a Kotlin/JVM backend and a Kotlin/JS frontend built with React.
19 | ## Kotlin Frontend Plugin
20 |
21 | The [Kotlin frontend plugin](https://github.com/Kotlin/kotlin-frontend-plugin) allows you to build and deploy a Kotlin frontend application using webpack. You can use npm packages as dependencies of your application, and the plugin will take care of downloading them and bundling them into the resulting JS file. The plugin also integrates with Karma, allowing you to run the tests of your application. And for optimal workflow, the plugin supports continuous compilation and hot reload, ensuring that you always see an up-to-date version of your application in the browser.
22 | The [README](https://github.com/Kotlin/kotlin-frontend-plugin/blob/master/README.md) file gives instructions for using the plugin, and the examples directory contains a [simple example](https://github.com/Kotlin/kotlin-frontend-plugin/tree/master/examples/frontend-only) showing how you can apply it in a real project.
23 | ## Kotlin React Example [Thinkter](https://github.com/Kotlin/kotlin-fullstack-sample) is an example of a modern full-stack application built in Kotlin. The backend runs under Jetty and uses [Ktor](https://github.com/kotlin/ktor) , a Kotlin Web application framework developed by the Kotlin team. The frontend uses React; a set of React wrappers for Kotlin is [provided as part of the project](https://github.com/Kotlin/kotlin-fullstack-sample/tree/master/frontend/src/org/jetbrains/react) . You’re welcome to use the wrappers in your project and adapt them to your own needs. Note that we’re working on evolving the React wrappers internally, and we’re considering releasing them as a separate open-source library.
24 | To see what Kotlin React code looks like, you can check out [one of the components](https://github.com/Kotlin/kotlin-fullstack-sample/blob/master/frontend/src/org/jetbrains/demo/thinkter/NewThoughtComponent.kt) of the application.
25 | Your feedback on these releases is very much welcome! Please file issues on GitHub, stop by the [forums](https://discuss.kotlinlang.org/) , or join the #javascript channel on the [Kotlin Slack](http://slack.kotlinlang.org/) .
26 |
--------------------------------------------------------------------------------
/original/Webinar Recording Functional Programming with Kotlin.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Webinar Recording: Functional Programming with Kotlin"
3 | date: 2015-11-05 13:21:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/11/webinar-recording-functional-programming-with-kotlin/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | The recording of our October 22nd webinar, **Functional Programming with Kotlin**, is now available on [JetBrainsTV YouTube channel](https://youtu.be/AhA-Q7MOre0) .
18 | In this talk, Mike Hearn provides a brief introduction to programming in Kotlin via practical example: creating a textfield with the autocomplete suggestions while typing. Demo project is available on [GitHub](https://github.com/mikehearn/KotlinFPWebinar) .
19 | Topics covered include:
20 |
21 | * Use of functional transforms
22 | * Immutability
23 | * Lazyness and working with lazy infinite sequences
24 | * The use of funKTionale, a library that extends Kotlin with a few features known from Haskell
25 | * Pattern matching
26 | * Reactive user interfaces
27 |
28 |
29 | {% raw %}
30 |
31 | {% endraw %}
32 |
33 |
34 | {% raw %}
35 |
36 | {% endraw %}
37 |
38 | The video includes the time stamps following the [agenda announced](http://blog.jetbrains.com/kotlin/2015/10/join-live-webinar-functional-programming-with-kotlin/) :
39 | `00:08` — Intoduction and demo application
40 | `05:00` — `apply` function
41 | `05:45` — Introduce NGram data class
42 | `08:22` — Creating extension methods
43 | `09:55` — Working with lazy infinite sequences
44 | `10:35` — `map` function
45 | `11:10` — `to` function and infix notation
46 | `14:35` — Destructuring of data classes
47 | `19:20` — `filter`, `let` and `all` functions
48 | `23:00` — Debug lazy code
49 | `24:20` — Add completions to UI
50 | `25:18` — Load data in a functional way
51 | `28:30` — Improve performance of the data loading
52 | `33:20` — Improve the UI responsiveness in RX style
53 | `40:05` — Using [Kovenant](https://github.com/mplatvoet/kovenant) library
54 | `42:03` — Using [funKTionale](https://github.com/MarioAriasC/funKTionale) library
55 | `44:10` — Currying
56 | `45:35` — Questions
57 | About the Presenter:
58 | Thanks to all the attendees for the questions! If you still have some, please, contact Mike or our team.
59 | You are welcome to suggest themes for future webinars in comments.
60 | *Let’s kotlin!*
61 |
--------------------------------------------------------------------------------
/original/Webinar Recording. Quasar Efficient and Elegant Fibers, Channels and Actors.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Webinar Recording. Quasar: Efficient and Elegant Fibers, Channels and Actors"
3 | date: 2015-09-21 13:40:00
4 | author: Roman Belov
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2015/09/webinar-recording-quasar-efficient-and-elegant-fibers-channels-and-actors/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | The recording of our September 16th webinar, **Quasar: Efficient and Elegant Fibers, Channels and Actors**, is now available on [JetBrainsTV YouTube channel](https://youtu.be/Nmob2MB2Qo8) .
18 | In this webinar, Fabio Tudone shows how to use Quasar for creation of highly concurrent software. He covers basics of Kotlin syntax and shows how Quasar uses Kotlin strengths to offer concise and expressive API.
19 | Demo project is available on [GitHub](https://github.com/circlespainter/quasar-kotlin-jetbrains-webinar/releases) .
20 | The video includes the time stamps following the [agenda announced](http://blog.jetbrains.com/kotlin/2015/09/join-live-webinar-quasar-and-kotlin/) :
21 | 00:55 – What are Quasar and Fibers?
22 | 12:22 – What are Quasar Channels?
23 | 15:50 – What are and why using Quasar Fibers?
24 | 21:15 – From Async to efficient Fiber-Sync with Quasar
25 | 27:13 – Quasar Actors and Selective Receive
26 | 37:54 – Quasar Dataflow
27 | 45:19 – Pulsar: Quasar’s idiomatic API for Clojure
28 | 45:19 – Comsat: existing APIs on steroids with Quasar Fibers
29 | 47:07 – Comsat Web Actors for HTTP, SSE and WebSockets
30 | 49:58 – Capsule: deploy Quasar and any JVM applications
31 |
32 | {% raw %}
33 |
34 | {% endraw %}
35 |
36 | About the Presenter:
37 | Thanks to all the attendees for the questions! If you still have some, please, contact Fabio or our team.
38 | You are welcome to suggest themes for future webinars in comments.
39 | *Let’s kotlin!*
40 |
--------------------------------------------------------------------------------
/original/Webinar recording Developing Multiplatform Projects in Kotlin 1.2.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Webinar recording: Developing Multiplatform Projects in Kotlin 1.2
3 | author: Roman Belov
4 | date: 2017-12-11 19:07:00
5 | source_url: https://blog.jetbrains.com/kotlin/2017/12/webinar-recording-developing-multiplatform-projects-in-kotlin-1-2/
6 | tags:
7 | categories: 官方动态
8 | ---
9 |
10 | Last week the webinar “Developing Multiplatform Projects in Kotlin 1.2” took place. Thanks to all participants for coming and good questions. Today we are happy to publish the recording of it. Don’t hesitate to suggest more themes for new webinars in comments. See you next time!
11 |
12 | {% raw %}
13 |
14 | {% endraw %}
15 |
16 |
17 | {% raw %}
18 |
19 | {% endraw %}
20 |
21 | A flagship feature of Kotlin 1.2 is building multiplatform projects. A multiplatform project allows you to reuse your business logic code, written in Kotlin, between all tiers of an application – the server code running under the JVM, the browser running JavaScript, as well as mobile apps. The shared portion of the code is compiled to all platforms and may delegate to platform-specific implementations of certain APIs or libraries. The platform-specific parts are also written in Kotlin and have full access to the features of each of the supported platforms.
22 | In this talk, we’ll look at the language and IDE features that enable multiplatform development in Kotlin, as well as libraries that can be used in multiplatform code. We’ll study an example project that demonstrates isomorphic HTML rendering (reusing the rendering code between the frontend and the backend), as well as other features of Kotlin multiplatform development.
23 | About the Presenter:
24 |
--------------------------------------------------------------------------------
/translated/A New Open Source Web Site.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "[译]A New Open Source Web Site"
3 | date: 2014-07-15 09:00:00
4 | author: Hadi Hariri
5 | tags:
6 | keywords:
7 | categories: 官方动态
8 | reward: false
9 | reward_title: Have a nice Kotlin!
10 | reward_wechat:
11 | reward_alipay:
12 | source_url: https://blog.jetbrains.com/kotlin/2014/07/a-new-open-source-web-site/
13 | translator:
14 | translator_url:
15 | ---
16 |
17 | 我们有一个新的网站和一个新的 [域!](http://kotlinlang.org) {% raw %}
18 |