There is not much difference. If you already have a list of strings, there is no difference in using StringBuffer.writeAll or Iterable.join . The Iterable.join method uses StringBuffer internaly:
String join([String separator = ""]) { StringBuffer buffer = new StringBuffer(); buffer.writeAll(this, separator); return buffer.toString(); }
From the Dart Documentation (click on the code button on the right).
source share