logo
Writing "Hello World": Android vs iOS vs Flutter

PaulaJuly 22, 2024

Learn to write a "Hello World" app for Android, iOS, and Flutter with Gravity Engineering. Explore the differences and find out which platform suits your needs.

Hello-world

Creating a "Hello World" application is often the first step for developers learning a new programming language or framework. This blog will guide you through creating a basic "Hello World" app in Android using Java, iOS using Swift, and Flutter.


Android in Java


Prerequisites


Android Studio: The official IDE for Android development.

Java Development Kit (JDK): Required for writing and compiling Java code.


Steps


Create a New Project:


Open Android Studio and click on "Start a new Android Studio project".

Select "Empty Activity" and click "Next".

Name your application, choose Java as the language, and click "Finish".


Edit the Layout File:


Navigate to app > res > layout > activity_main.xml.

Modify the XML to display "Hello World":


<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center">


<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Hello World!"

android:textSize="24sp"/>

</LinearLayout>


Run the App:


Click the "Run" button (green triangle) in Android Studio.

Choose an emulator or a physical device to run the app.


Code Explanation


XML Layout: Defines the user interface. A LinearLayout with a TextView is used to display "Hello World".


iOS in Swift



Prerequisites


Xcode: The official IDE for iOS development.


Steps


Create a New Project:


Open Xcode and select "Create a new Xcode project".

Choose "App" under the iOS tab and click "Next".

Name your project, select Swift as the language, and click "Next".


Edit the Main View Controller:


Open Main.storyboard.

Drag a Label from the object library to the view controller.

Set the text of the label to "Hello World" in the Attributes Inspector.


Run the App:


Click the "Run" button (triangle) in Xcode.

Choose an iOS simulator or a physical device to run the app.



Code Explanation


Storyboard: Visual editor for designing the UI.


Label: UI component that displays a static text.



Flutter


Prerequisites


Flutter SDK: Toolkit for building natively compiled applications for mobile.


Android Studio or Visual Studio Code: IDEs with Flutter plugins.



Steps


Create a New Project:


Open the terminal and run:

flutter create hello_world

cd hello_world



Edit the Main Dart File:


Open lib/main.dart.

Replace the existing code with:

import 'package:flutter/material.dart';


void main() {

runApp(MyApp());

}


class MyApp extends StatelessWidget {

@override

Widget build(BuildContext context) {

return MaterialApp(

home: Scaffold(

appBar: AppBar(

title: Text('Hello World App'),

),

body: Center(

child: Text('Hello World!'),

),

),

);

}

}

Run the App:


Open terminal and run:

flutter run



Code Explanation


Dart: The programming language used by Flutter.

MaterialApp: A convenience widget that wraps a number of widgets commonly required for material design applications.


Scaffold: Implements the basic material design visual layout structure.

Text: Widget to display "Hello World".



Conclusion


Creating a "Hello World" app on different platforms illustrates the differences and similarities between them. While Java for Android and Swift for iOS each have their native toolsets and paradigms, Flutter offers a unified approach for both platforms. Here’s a quick comparison:


Android (Java): Uses XML for UI design and Java for logic. Requires Android Studio.

iOS (Swift): Uses Storyboard for UI design and Swift for logic. Requires Xcode.

Flutter: Uses Dart for both UI and logic, providing a consistent development experience across both Android and iOS. It can be developed using Android Studio or Visual Studio Code.