Understanding Android App Development: Languages, Differences, and Interface