Jaka jest różnica między implementacją a kompilacją w Gradle?

Po aktualizacji do Android Studio 3.0 i utworzeniu nowego projektu zauważyłem, że build.gradleistnieje nowy sposób dodawania nowych zależności zamiast compiletam implementationi zamiast testCompiletam testImplementation. Przykład: implementation 'com.android.support:appcompat-v7:25.0.0'...