I’m currently in the process to build a portfolio in software engineering before I graduate high school. I’m taking all of the Computer Science classes that my school offers and I’m teaching myself different languages thanks to a few online resources, but one of the issues that I have with all of the classes I’m taking is that we don’t go over iOS development. After researching what it takes to do so, I found out you need a computer running MacOS, may I like to add that the computers that are currently in our Computer Science room run Windows and I own a Windows PC. That’s when I found third-party options that give PC users the ability to develop iOS apps but also Android apps thanks to the cross-compatibility features that they have.
One of the most simple programs that I’ve found to help you get started in app development in general, as long as you have knowledge in web development. Adobe’s PhoneGap allows you to use HTML, CSS, and JavaScript to create the layout of your app and what’s going on in the background. Testing your app can also be simple, using the PhoneGap development apps on both your computer and phone, you can run a server from your computer to host your app and run it on your phone. Even though Adobe developed these apps to make the process as simple as possible, I couldn’t get my test app to run on my phone, I would have connectivity issues between my computer and my phone. That’s when I used a more popular, and easier to use, platform called React Native.
React Native, developed by Facebook Research, uses a newer JavaScript library called React.js to develop applications. The best way I can describe React.js is a combination of HTML, CSS, and JavaScript. In order to create the layout of a React Native app, you use something called JSX, it’s similar to HTML syntax for the content you decide to put and you can use CSS like syntax to style it, keeping everything in one JavaScript file instead of switching between different files. React Native seems complicated to set up and test on your device, but it really isn’t. A service called Expo makes it easier to create a new application file and test it using it’s Android and iOS app.
While building and testing your app seems easy, you still need a Mac to build the app file for iOS devices. An easy fix for this can be from buying a Mac, borrowing a friend’s Mac, running a virtual machine on your current computer, or looking at services like MacinCloud which gives you the ability to rent a Mac and running it through your browser.