Can this be used for Vanilla Java (non-android) Projects? If so, would the core principals remain the same?