These powerful development tools and frameworks greatly
simplify the task of implementing a mobile application. However,
they are predominantly focused on the individual developer who
is trying to create an application as quickly as possible. For small
and medium-sized mobile applications that can be built (and
easily updated) by a single developer, they represent a vast
improvement on the previous generations of tools, and encourage
developers to adhere to the important principles of abstraction and
modularity that are built into the platform architectures.