I've never used Tiles (and know little about it), but whether or not to use frames in a Web application is dependent upon a few things.
When to use frames:
- If your pages contain common elements (such as navigation menus) that are used (or can be used) on ALL pages, then moving to a frame can be a good idea (though you should generally just include it).
- If you application has data that should be displayed at intervals to the user, whether or not they are changing pages, then frames are good. (Examples would be advertisement banners that you want to change at intervals, which, even then, may open iframes as the better choice.)
When NOT to use frames:
- If you use them to simply combine JSP/HTML files for the purpose of constructing a single page, then do not use them. Use includes instead.
- If the data that would appear in each frame does not change or is not dependent on the content of other frames, then do not use them.
- If the content displayed is is generated to the point that bookmarking the page can be useful, then do not use frames.
One of my favorite uses of frames has to be what IBM has done for the WebSphere Application Server v5.0. They constructed the admin console using Struts and with frames. The top frame has the logo/header file (static) and the bottom frame has three more frames. On the left is the navigation (which never changes) and the right frame is made up of two other frames. In these frames they place the content (ie. click menu item, app content is displayed here) and the bottom frame contains interval-type data.
The interval-type data frame makes this a pretty interesting choice because it switches between a few screens, such as a quick-view of the number of configuration errors found and a few others (which skip my mind right now).
Frames aren't dead yet, though they are slowly dying as modern design moves away from their downfalls.