DEV Community

ogodo moses
ogodo moses

Posted on

My Journey into Mobile Development with HNG Internship.

Hi there! I'm excited to share my journey as I start the HNG Internship and dive into mobile development. Mobile apps are a big part of our lives, and making them is both fun and challenging. Let's talk about the platforms we use to build these apps and the common software architecture patterns.

MOBILE APPS DEVELOPMENT PLATFORMS.

  1. Native Development: This means building apps specifically for either Android or iOS. For Android, you use Java or Kotlin, and for iOS, you use Swift or Objective-C. ADVANTAGES ** i. Great Performance: Native apps run fast and smoothly. ii. Full Access to Features: You can use all the features of the device. **DISADVANTAGES i. Time-Consuming: You need to build separate apps for Android and iOS. ii. More Maintenance: Maintaining two codebases is a lot.
  2. Cross-Platform Development: This means building one app that works on both Android and iOS. Tools like React Native and Flutter help with this development. ADVANTAGES: i. Saves Time: You write the code once and it works on both platforms. ii Cheaper: It's less expensive than building two separate apps. DISADVANTAGES: i)Slower Performance: These apps might not be as fast as native apps. ii) Limited Features: Some device features might not be fully available. Common Software Architecture Patterns 1. Model-View-Controller (MVC): This pattern divides the app into three parts: the Model (data), the View (UI), and the Controller (logic).

ADVANTAGES:

i. Organized Code: Easy to manage and test.
ii. Clear Structure: Each part has a specific role.
DISADVANTAGES:
i. Complex for Big Apps: Can get complicated.
ii. Interconnected Parts: Changes in one part can affect others.
2. Model-View-ViewModel (MVVM):
This is great for apps with complex user interfaces. It separates the UI from the business logic.

ADVANTAGES:

i. Clean Separation: Better organization and easier to update.
ii. Automatic Updates: UI updates automatically when data changes.
DISADVANTAGES

i. Learning Curve: Takes time to learn.
ii. More Complex: Adds some overhead to the project.
Why I Joined the HNG Internship
I joined the HNG Internship to learn from the best and grow my skills in mobile development. The program offers real-world projects and a chance to work with talented developers from around the world. It’s a great opportunity to improve my coding skills and build awesome apps.
If you want to learn more about the HNG Internship, check out this link and this . It’s an amazing program!

Top comments (0)