DEV Community

Ayoti_i4
Ayoti_i4

Posted on

Mobile Development learning with HNG Internship

My name is Ayobami Masterpiece. I am an aspiring mobile app developer building cross-platform mobile apps with React Native, a JavaScript framework. For the past three years, I have worked on personal projects and at two startups, Workdistro and Rooster.

I saw the HNG internship on LinkedIn and recognized it as a great opportunity to learn, grow, and gain more work experience. I knew that the HNG projects and tasks would be challenging and would push me to improve every day. I applied and hoped to be selected. Less than a month ago, I was chosen for the internship.

I really look forward to the wonderful opportunities and connections I can gain from this internship. It will be a long, tough journey, but I believe I can do it.

Next, I want to talk about major mobile development platforms and software architectures that can be used to build apps.

There are two major operating systems that power mobile phones: iOS and Android. iOS is built by Apple, and Android is built by Google. They each have their own development environments and languages, along with unique differences, pros, and cons.

IOS

  • Development Environment:Xcode
  • Programming Languages: Swift, Objective-C
  • Pros: Strong integration with the Apple ecosystem, high security standards, consistent performance.
  • Cons: Limited to Apple devices, requires macOS for development.

Android

  • Development Environment: Android Studio
  • Programming Languages: Kotlin, Java
  • Pros: Wide range of devices, highly customizable, open-source.
  • Cons: Fragmentation due to the variety of devices and OS versions, potentially inconsistent performance across different devices.

There are languages and frameworks used to build apps that work on both Android and Ios the some are react native , flutter , iconic and Xamarin.

To conclude I would talk about three main architecture that I use when writing apps with react native

Component-Based Architecture

  • Description: Focuses on building reusable, encapsulated components that manage their own state and logic.
  • Usage: Core to frameworks like React Native and Flutter, promoting modularity and reusability.

Redux (State Management)

  • Description: A predictable state container for JavaScript apps, often used with React Native.
  • Usage: Helps manage application state consistently, making state changes predictable and easier to debug.

Model-View-Controller (MVC)

  • Description: Separates the application into three interconnected components: Model (data), View (UI), and Controller (business logic).
  • Usage: Common in traditional web and mobile applications for clear separation of concerns.

Here are links You can use to apply for HNG internships, Trust me it is the best gift I can offer you

https://hng.tech/internship
https://hng.tech/hire.

Thanks for reading my article. I appreciate you for your time

Top comments (0)