Is MVP considered best practice for *all* GWT applications?
- What about for a small in-house web application?
- Is it a mistake not to use unit testing for such application, or any application?
- For an application that is not going to be unit tested, are there other reasons I might want to use MVP?
- In general, MVP is considered a Best Practice for developing GWT applications. Several reasons to apply the pattern can be found in this Google I/O Presentation.
- MVP comes to a price, and it will introduce several more classes and complexity to your application. But it will also minimize coupling and it will make your application more testable; so it is up to you as a designer to decide if the pattern is worth the pain.
- Some methodologies - like Extreme Programming - encourages the inclusion of automated tests in a software development process. Again, the inclusion of tests will require your team to write more code, but in exchange your code will be robust and trustworthy. I strongly suggest you to include unit tests, even if the application is small.
- As I said before, easy test is one benefit of MVP but it is not the only benefit. According to this article from Google:
MVP decouples development in a way that allows multiple developers to
work simultaneously