What advantages and disadvantages do single-page applications have?