How does Amazon EFS differ from Amazon S3?

EFS and S3 have slightly different use cases.

S3 is meant as storage for an application. An application can read and write from S3 using a certain API. This API is what is called a REST based API over HTTP.

EFS seems to be meant to be used exactly as a normal filesystem on Linux or Windows (or whatever), and individual computers will attach to it (I assume) basically the same way you normally attach to a shared folder on the network.

It should be mentioned that several developers have provided applications that aims to turn S3 into a sort of filesystem, but none of those work very well. Enter EFS.