HTML

What programming skills do I need to develop interactive cool features for "web mobile apps"?

Do I only need to learn jquery, html, and javascript to develop web mobile app ( like a instagram, viddy, kik, whatsapp or skype type of app)? Do i have to learn ror or php? Then use phonegap to help me package the app into web mobile app to rest on the phones homescreen or app stores.

As mobile technology has become an every day part of modern life (who doesn’t have a smartphone these days?!), it goes without saying that the demand for mobile app developers is extremely high as the organization looking to hire mobile app developers for development of different applications.

Due to this, mobile app development is a really popular career choice for anyone looking to break into the digital industry – from iOS to Android to BlackBerry, if there’s an app that needs developing, you can bet that businesses won’t be short of people to choose from https://wezom.com/blog/a_step-by-step_guide_to_building_your_first_mobile_app.

1) Cross-platform Development

In the mobile app industry, it’s not enough to be skilled in developing apps for one platform – you have to be versatile and able to create any sort of app for any sort of device.

Employers are always on the look-out for candidates that have iOS, Android and BlackBerry coding skills and experience because once an app goes live in the Apple App Store, it’s only a matter of time before users want to be able to purchase it in the Google Play store for Android or on BlackBerry World. So if you’re able to make the app available and functional on multiple platforms, that immediately makes you more appealing to employers!

2)Modern Programming Languages

This point is pretty obvious but it’s still worth pointing out – a key skill that employers look for in their mobile app developer candidates is a firm grasp of and experience of modern programming languages.

Familiarity with front end development and a good understanding of modern programming languages like PHP, Java, HTML5 and C#, as well as the likes of Adobe Flash Lite, Python and Objective C is really important to employers, and having experience of working with more than one of these languages will stand you in good stead when it comes to applying for these roles.

Also look at more niche languages such as Apple’s own Xcode development language as this could really set you apart from other candidates.

3) Agile Methodologies Experience

If you’re interested in a career in mobile app development, chances are you’re familiar with agile methodologies, but there are some people who might be in the dark, so let me first explain what this is.

Agile is a group of software development methods that are based on a continued stream of solutions created through strong collaboration between cross-functional and self-organizing teams.

It’s the most common method of working in the mobile app industry, so if you’ve got experience of working in this sort of environment, then you’ll have a good chance of impressing the hiring manager or recruiter.

9 Answers

Ben Jakuben
STAFF
Ben Jakuben
Treehouse Teacher

I came back to this thread because I realized my description of the backend was probably a little too brief. :smile:

So let's take Instagram as an example. They have three frontends:

  1. The iPhone app
  2. The Android app
  3. The web page

The apps do the same thing. You log in or sign up, take photos, add a filter, and post/share. You can also view, like, and comment on other photos and follow people. With the web page, you can view, like, and comment on other photos (you just can't take the photos or upload anything).

The backend is everything that happens when you take an action. So when you sign in, you send your username and password to the server. The server is the backend. On that server, your credentials are checked against a database (another part of the backend). A response is sent back to the app saying whether you are logged in or not. This is the job of the backend.

Same thing with the photos--once you hit "share", the photos and whatever caption you enter are uploaded to the server (backend). They're stored in the database (backend). When you or others view your photos, you send a request to the server (backend) to serve up whatever photos you want to see.

So the backend in this example includes the servers, the database, and the programming that makes it all work together. This programming, which is done in a server-side language like Ruby on Rails, Python, PHP, or Node.js, handles your requests, performs actions against the database, and serves some kind of response over the network back to the client.

This is a super-fast write-up at the end of my night, but hopefully it helps describe the backend for you! We're going to cover this in more detail in the next iPhone project and I hope to write a blog post about it before too long.

Nick Pettit
STAFF
Nick Pettit
Treehouse Teacher

Hi J V,

Sorry for the slow reply! You have a couple of options here, depending on whether or not you want to build a native mobile app (built in iOS and/or Android) or a web-based mobile app (built using HTML, CSS, JavaScript, and possibly a back-end language like RoR or PHP).

Amit Bijlani and Ben Jakuben are very familiar with this topic, and should be able to answer your questions!

Amit Bijlani
STAFF
Amit Bijlani
Treehouse Guest Teacher

You can certainly build a lot of apps using only PhoneGap. From your list I would say you can certainly build a basic messenger or instagram. You don't need to learn a server side language because you will be creating everything on the front-end. So all you need to learn is HTML/CSS/Javascript (jQuery is just a Javascript framework). There is a good discussion on this thread: https://teamtreehouse.com/forum/apache-cordova-vs-objectivec-in-ios

Ben Jakuben
STAFF
Ben Jakuben
Treehouse Teacher

Hi J V ,

This is perhaps a bigger question than you realize! I know it can be overwhelming at first. You have a ton of options. For reference, the apps you mentioned in your question are all native apps, which means that they are written in "native" programming languages for each platform. That's what Amit and I teach for iOS and Android.

There are a lot of good resources for web-based mobile apps, and you can build some really neat stuff, but they don't have the full feature set of a native app. There has been some good discussion about native vs web for mobile apps in our forum. Check out these other posts:

Really you want to find what you like and then build something you want to build to get a feel for it. I would recommend at least checking out the first stages of our Android and iPhone courses to see if you like it. We teach them assuming you have little or no programming experience, so you shouldn't feel too out of place.

For the backend, I wouldn't worry too much about that at first. You can use a backend-as-a-service provider like Parse.com for now that makes it really easy to set up a customized backend. We have some content coming out in the next few months that will help you use Parse, too.

Thanks you for your comments is very helpful. I'm deciding weather to continue to learn objective-c or learn java script, html, and css to develop the mobile apps.

If, I learn objective-c can I still use phonegap, trigger.io, or titanium to go cross-platform?

Parse.com works on html, css, and javascript, java or objective-c the same as php/ror for back-end server for mobile?

Why do developers use stackmob?

Ben Jakuben
STAFF
Ben Jakuben
Treehouse Teacher

Objective C will let you develop apps that run natively on iPhones and iPads. It won't help you port to Android using a tool like PhoneGap or Titanium. For those you need to write everything in HTML/JavaScript and it ports to both platforms.

Parse.com works as a backend for all sorts of stuff. The same backend can be used by an iPhone app, an Android app, a web page, or a Windows Phone app, even. :) You write the backend once and connect to it with whichever frontends you want.

Stackmob is another backend-as-a-service provider like Parse.com. Both are popular because they make developer's lives easier by taking care of everything related to the backend of a system, including servers and database administration.

Nice anwers, I really appreciate it. what do you mean with this line "You write the backend once and connect to it with whichever frontends you want."?

Great, I totally understand it! Thank you!

Ernest Grzybowski
Ernest Grzybowski
Treehouse Degree Mentor

Ben Jakuben nice little write up. Hopefully that is enough to explain it to those that do not understand it. Excited that an upcoming project might show how this may be implemented.