Apa perbedaan antara implementasi dan kompilasi di Gradle?

Setelah memperbarui ke Android Studio 3.0 dan membuat proyek baru, saya perhatikan bahwa build.gradleada cara baru untuk menambahkan dependensi baru alih-alih compileada implementationdan bukannya testCompileada testImplementation. Contoh: implementation