Software architectural principles in contemporary mobile software: from conception to practice
•Distills the architectural principles found in Android.•Traces back those principles to their conception in software-architecture research.•Reports on characteristics of Android ecosystem of apps by mining hundreds of apps in several app markets.•Reflects on deviations from how architectural concep...
Gespeichert in:
Veröffentlicht in: | The Journal of systems and software 2016-09, Vol.119, p.31-44 |
---|---|
Hauptverfasser: | , , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | •Distills the architectural principles found in Android.•Traces back those principles to their conception in software-architecture research.•Reports on characteristics of Android ecosystem of apps by mining hundreds of apps in several app markets.•Reflects on deviations from how architectural concepts have been prescribed in architecture literature.
The meteoric rise of mobile software that we have witnessed in the past decade parallels a paradigm shift in its design, construction, and deployment. In particular, we argue that today’s mobile software, with its rich ecosystem of apps, would have not been possible without the pioneering advances in software architecture research in the decade that preceded it. We describe the drivers that elevated software architecture to the centerpiece of contemporary mobile software. We distill the architectural principles found in Android, the predominant mobile platform with the largest market share, and trace those principles to their conception at the turn of century in software architecture literature. Finally, to better understand the extent to which Android’s ecosystem of apps employs architectural concepts, we mine the reverse-engineered architecture of hundreds of Android apps in several app markets and report on those results. |
---|---|
ISSN: | 0164-1212 1873-1228 |
DOI: | 10.1016/j.jss.2016.05.039 |