Code quality is always priority 1
When the source code is ambiguous, the default is to generate better quality code. In some cases, rather than make a decision that might be sub-optimal (for example, evaluating runtime objects), the code will be commented so that a developer can further analyze and decide the best course of action.
Code is refactored and cleaned up.
After semantic representation is complete, code can be automatically refactored (from “code behind” to MVC, for example); dead code is flagged and eliminated; redundant code can be simplified.
No third-party dependencies
All generated and required code is source code, with no binary libraries used to speed the port to a different platform. While binary libraries (i.e. runtimes) are the fastest way to move an application to another platform, the resulting code is difficult to maintain and creates a risky dependency on an outside vendor for ongoing support. (Note: if you want, you can include the helper classes as a binary lib in your code tree for brevity, but it's entirely up to you.)
No performance penalty
Because Mobilize.Net migrated code is pure source code, it uses native runtime libraries (e.g., .NET, J2EE) so it performs equivalent to applications written from scratch for those platforms; additionally any profiling or analysis tools for that platform will work on a Mobilize-created application.