Native vs. Cross-Platform App Development: A Detailed Comparison