Archives for

iPhone App Development

A Complete Beginner’s Guide to Developing Apps (iPhone, Android, and Windows)

 

iphone app development

Mobile app development is the new buzz word in the arena of technology. Considering the fact that there are over 700,000 apps on Play Store as well as App store, that doesn’t come much as a surprise. With estimations suggesting that the mobile app industry would become a $35 billion industry by 2015, there’s surely no one belittling this new playground.

For some, it’s a shortcut to fame, money, and respect. While for some, it’s a means to reach millions of users worldwide. For successful app developers, it’s both.

So, if you always had an idea that you wished could be transformed into something real, something interactive, something useful, here’s your chance to develop an app. Just how every contrivance ascends from an ingenious idea; apps, too, need to be created first in your head, and then on your computer.

However, finger-flicking-good apps can’t be developed just by downloading run-of-the-mill training videos, and learning some atypical languages. Developing awesome apps goes way beyond watching tutorials and learning languages. It requires creativity, design, awareness of the market trends and most importantly- an idea.

 

Kicking-off with an awesome idea

app-idea-guy-300x199[1]

To develop an app, you need to have an idea that would click among the masses. There’s no point developing mediocre apps; the app stores are already stuffed with thousands of those.

Many novices spend hours learning technicalities of different languages, only to end up developing apps which are not revered by the masses. They fail not because they are poorly designed, but because there are better alternates. For instance, there’s no point developing an online chat messenger like WhatsApp, or developing alternate mobile browsers, unless of course you are confident of outdoing the competition.

But… how exactly do you kick-off with an awesome idea?

blog-app-ideas[1]

  • Think of something innovative that is already on the web and can be ported to mobile. Though web and apps are two different sides of the coin, it won’t be untrue to conclude that everything that works on web, works on apps too. For instance, to simplify the news-reading experience of people, you can aggregate the popular news-sources from the web and, sort them according to keywords and develop an app that listens to their RSS feeds.
  • Think of an app that you always wished you could have. As they say, charity begins at home. Get your nimble neurons to work and spin up an idea that could allow you the luxury of being just a tad lazier.
  • Think of an app which could make complex things simpler. For instance, you need to enter your credit card number and other details every time you pay the bills. Think of an app that can securely store those details by encrypting it with a user-defined PIN.
  • If you’re thinking of developing a game, make sure you hire the best graphic designing talents, and provide an engaging game-play. Though we said that your ideas need to be original, you can always augment an already existing idea. For instance, though Subway Surfers has a game play congruous to Temple Run, it’s more magnetic than its counterpart. The key thing is either to be better than the best, or to be different than the rest.

Choosing the right platform

mobileosfeat-logohead-600[1]

Assuming that you have finally figured out an out-of-the-box idea for your app, here’s another critical choice you would have to make. Which platform are you going to opt for you app- Android, iOS, or Windows? While the choice of platform is completely solitary, here are some tips to keep in mind if you’re still unsure on which way to go.

  • If you’re looking to develop an app that could yield more profits, go for iOS. Though Google has more apps on Play Store than App Store, apps on App Store grapple far more profits than Android apps. That’s due to high amount of piracy on Android platform and also due to the deep-rooted problem of fragmentation. However, on the down side, make sure you have a Mac, and are also willing to pay the mandatory $99/ year to Apple for your intrepid endeavor.

overview_hero2

  • If you want to make your app more popular by offering it for FREE, and intend to earn from ads, go for Android. This is perhaps the best strategy for beginners, as paid apps have remarkably lesser downloads than free apps. Perhaps, when the app gains enough popularity, you can switch the gears.

im33ages

  • If you wish to try something new, and have an idea which has already been adapted by hundreds of apps on the Google and Apple platform, go for Windows 8. Granted that Windows 8 is a less-explored territory, but you could reach a larger audience in a quick-time with Metro-styled apps as the discoverability of your app on Windows Marketplace would be much better than App Store or Play Store.

ima44ges

 

Design

“Design is everything”- Steve Jobs

banner145

That sums it all up. The first phase might seem frivolous to beginners, but the unspoken truth is that it’s one of the most important phases in mobile app development. It’s the phase where the bricks are laid out. The prominent reason why most apps fail to gain huge popularity in the app market is poor design. Hence, no matter which platform you’re working on, never overlook the design aspect.

Here are some tips that would help you make better and consistent looking apps.

iOS app design:

tapbots[1]

If you’re designing an app (not a game) for iPhone/ iPad, you can design your app from the readily available custom templates. These templates would help you move quickly from your prototype model to your actual app. Moreover, it would also give your app a more consistent look-and-feel. Though most developers would advise you to stick to readily available templates or Interface builder (a tool provided by Apple that allows you to build visual interfaces and comes bundled up with iOS developer program), it’s always a good practice to write codes from scratch, which can be done using the UIkit code.

Android app design:

im33ages

If you’re designing an app for Android, we suggest browsing through this amazing page developed by android developer community. The page explains how an app should be designed and elements it should integrate.

Also, there’s no point reinventing the wheel again and again. Hence, Google put everything required for developing an app (stencils, sources, color swatches, and icon packs) in public domain. There’s no restriction in using the controls, features and packs. These readily available packs offered under Android developer program not only save time and effort, but also provide a consistent interface across apps.

Download Design Pack

 

Windows app design:

wp-panaroma

The most beautiful looking apps can be created on the Windows 8 platform. As Windows is a less-explored territory when it comes to apps, we are unsure whether you would find a readily available template for your app. However, here are some well laid-out rules for developing wonderful apps. If you wish to make apps from scratch, you would need to code the design using HTML5/ CSS3. Using HTML5/ CSS3 would be easier if you have some experience with scripting languages in the past. Here are some tutorial videos that would help you brush up your knowledge on using HTML5/ CSS3.

 

Registering and Downloading the required tools and SDKs

home_sdk

Considering that you have already chosen the platform, here’s what all you would need to start your journey.  You would need to register as a developer for the platform you chose, and would have to download the corresponding SDKs. Software Developer Kits (SDKs) is a software-kit that allows developers to create apps that would run on the intended platform. Different SDKs support different devices. Hence, you would have to choose a SDK that resonates with the platform and the type of device you are targeting.

iOS:

imagsdesTo develop an app for iOS platform, you would need to become an official Apple developer and accept the terms and conditions. The registration is free. Once you register, you can use the same username and password for accessing you iTunes account. You would have to pay the mentioned 99$, only when you intend to publish your app.

To start developing apps for iPhone/iPad, you would need to download the relevant SDKs and tools that can be downloaded from here. You would need iOS x.0 SDK (where x represents the iOS version for the app), and XCode, which is an IDE tool for developing iOS apps. XCode can be downloaded from here.

The language that would be used for coding the apps is Objective C. Once your enroll for the iOS app development program, lots of tutorial videos, coding examples and developer libraries would be made available to you. Along with XCode, other tools like iOS Simulator that allows you to run and test your app and Interface Builder are also available.

Android:

android

To create an app for Android platform, you would need to register as an official Google developer and accept the terms and conditions. You would need to pay 25$/ year to be able to publish apps on Play Store.

To start developing apps for Android, you would need to register under Android developer program, and then download Eclipse with the required Android SDK. We suggest choosing a lower versioned SDK (Android v3.0) as it would be compatible with most Android devices. However, if you wish to use the advanced API features, you may also choose the latest SDK version (Android 4.0). Apart from the SDK, you would also be able to integrate existing Google services in your app. To learn more about developing perfect Android apps, visit the official Android developer development page.

The coding would be done using JAVA code with the design interface being XML. The IDE would offer all the required tools (Interface Designer, Code Editor, Debugger, and Emulator) for complete development of apps.

Windows:

ima44ges

To be able to publish apps on the Windows 8 platform, you would first need to register yourself as a Windows developer. There’s no registration fee, and the SDKs and tools are available on the Windows Phone official site. There’s a publishing fee of 49$/ year to host apps on Windows Market Place. For more info on how to make apps with Windows and to understand all the nitty-gritties, click here. To develop Windows 8 apps, you would need Microsoft Visual Studio 2012 integrated with the required SDK. The back-end coding would be done in C#, while the front-end design can be achieved using HTML5/CSS3 or XAML scripting.

Download SDK | Download Microsoft Visual Studio 2012

 

Learning Languages

imagsfdes

 

So, we have finally figured out ‘what’ we need to develop an app. Let’s now shift our focus on how to develop an app.

If you have some experience with object-oriented languages like Java, C++, etc., and script languages like HTML, CSS, etc., programming an app should not be a tough nut to crack. Here are the languages you would need to learn for developing apps on different platforms.

iOS: Objective C

Android: Java, XML

Windows: HTML5, CSS3, C#

If you have little experience with programming languages, we suggest getting brushed up with the OOPS concepts, before plunging into learning languages. Below are links of some sites and e-books that would help you in understanding the mentioned languages.

Objective C: Cocoadevcentral

Java: Introduction to Java Programming, Java: The complete reference

XML: W3Schools

HTML: HTML 5: up and running

CSS3: CSS3 for web designers

C#: C#- A beginner’s guide, C# Station

I have been learning from these online sources and find them awesome. If you’ve any more learning sources, do share it with us below in the comment section.

[Tip-off: If programming is not your strongest point, you can also create apps WITHOUT learning any programming languages. Lots of web interfaces like ibuildapp, Appyet, AppMakr,AppsGesyer and others are available that can help you create an app in just minutes, and that too, without learning any programming languages. No kidding.]

 

Testing your app

images

After you have developed your app, you would need to test the app on actual devices. Though you can always test the app in the IDE simulator, you need a reality-check when you are planning to publish your app on the app stores. Besides, considering the fact that Android devices run differing flavors of Android, differ in screen sizes, and internal hardware, there’s a definite need to test your app before you publish it. The same goes with Apple devices that come in different sizes and versions. Windows phones also come in different screen sizes and hardware. There are lots of testing services like Testflight, Mobile App Testing, uTest, etc. that can help you test your app on real-life devices. These services test the integrity of your app on numerous devices, and can help you overcome any anomalies.

 

Submitting and Publishing your app

images

 

Now that you have tested your app on devices, you are confident that your app would run on user devices. After testing the app, you can submit the app for approval. It may take a while to get the approval as the app markets scan your app for any malicious code, and also measure the utility of the app. However, if your idea is unique and the code is immaculate, you would receive an approval from the community, and your app would be published on the App Store/ Play Store/ Market Place. To publish your app, navigate to your developer account and click on “Submit” app.

 

Distribution

gallery_wireless_distribution[1]

After testing the app, you can submit your app for approval. It may take a while to get the approval as the app markets scan your app for any malicious code, and also measure the utility of the app. However, if your idea is unique and the code is immaculate, you would receive an approval from the community, and your app would be published on the App Store/ Play Store/ Market Place.

However, the journey does not end here. Once you’ve published your app, you would need to make it discoverable. This is undoubtedly one of the most challenging tasks in mobile app development program. However, here are some tips to increase the visibility of you app:

  • Optimize your app for keywords. If you have developed an app that lets user make money, make sure you include it in the description and title (if possible).
  • While taking-off, sell your app for FREE, no matter how good it is. If you wish to stick to the paid version, make a trial version of your app and market it for free.
  • Advertise with as many ad networks as possible. There are lot of advertising platforms that could help you fetch thousands of downloads within days.
  • Pay attention to the rating of your app. If people are complaining about glitches in your app, fix them with an update as soon as possible. If your app maintains a good-rating, it would surely encourage more users to try the app.
  • Make sure you target the right users when you publish your app. For instance, you might have designed an app for a particular screen size. So, make sure you exclude the users with larger screen sizes.
  • Localize the description and the content of your app to reach more users.

Monetizing from your app

Appsbuilder-Monetize

 

Now that the app has been successfully published, you would need to start thinking on which strategy to apply (Paid, Free or Freemium?) for monetizing from your app. Though the paid-option is lucrative, it would surely find lesser potential buyers. If you sell it for free, you would lose out your profits. Hence, you would need to reassess the genre of your app, and cite the competition in the market before deciding an optimum monetization strategy.

However, a simpler monetizing strategy can be explained as follows:

  1. If you’re creating a one-time play app for iOS/ Android/Windows, make it premium; if you’re developing a slowly progressive game, market it as FREE on the app stores; if you’re developing an app that can entice the users to unlock items, go for the Freemium model.
  2. If you’re developing an app for iOS/Android, and if you think it’s productive enough, go for the paid approach.
  3. If you’re making an app/game for iPad/Microsoft Surface, never ever think of deploying an ad-monetization model.
  4. DO not annoy users with unrelated, buggy ads.
  5. Grow your users through aggressive social marketing and by providing a handy feature.

The key to app monetization is realizing that people won’t mind downloading your app if they actually need it, and won’t mind paying a few bucks, if they know it’s worth it.

That being said, there’s no optimum strategy for monetizing from apps. If you’re wary of the available choices, you can adapt all the three models, and adapt the one that works the best for you. Read more about optimum app monetization on this articulated piece on Free v/s Paid approach for apps.

That’s it. Hope our tutorial helps you in creating awesome apps. 😆

Have something to say? Shoot your questions in the comments section below.

How Apps are Evolving: A Look at the Recent Design Trends in Mobile Apps

1

Design is everything. Great ideas turn into great designs and great designs help in building great apps. Earlier, people worried more about the functionality of the app and cared less about its interface. But times have changed. People now have a zero-tolerance policy for antiquated apps.

App Developers not only need to create aesthetically pleasing interfaces, they also need to keep up to the perpetually altering design trends.

And let’s not overrule the catastrophic outbreak of apps on the three major mobile platforms- Windows, Apple and Android. For your app to stand-out, it needs to have a kickass interface blended with an amazing idea. Might sound exaggerating, but the time of mediocrity is out. Boring, humdrum, run-of-the-mill doesn’t work anymore.

The obvious question swirling in your mind right now would be- then what would? Well, to answer that, we had to take our crystal ball out, and foresee the times ahead. Here’s what we think would be the app design trends that would click with the audience.

1.       Minimalistic Design: Less is More

1_1
The mantra- ‘more is less’ has taken a setback. People no longer have an affinity for a cluttered up interface. They want apps that are simple, beautiful and intuitive. The combination of these words aptly defines minimalism- the lesser, the better.

Too many controls make your app look like an aeroplane cockpit– powerful yet confusing. The key to minimalistic design is to use as beautiful and as few controls on the screen as possible. User interactions can be done using hand gestures, instead of individual controls. When you have lesser controls and more gestures on screen, your app looks easier to understand and pleasant to use. Here’s a good place to understand minimalism and get a bird-eye view on how top-notch apps are inhibiting it.

Concisely speaking, Minimalistic approach is all about getting more out of less. It’s more of an art and less of a science. And like every art, the more you explore, the better you get.

 

 2.       Flat Design: Keeping it simple

1_2

Skeuomorphism is now old-fashioned. Flat is in. Gone are the days of realistic three-dimensional graphics that steal away the simplicity of the app. People now want to see only those things that matter.

2_2

Flat design is about designing interfaces in two-dimensions and about showing interactions that really matter. Simpler the better seems to be the motto.

Flat design started trending after Microsoft unveiled its Metro-styled Windows 8 UI. The tiled interface besides being simple was amazingly intuitive and beautiful.

2_3

With Windows 8 on the rise and skeuomorphism going out-of-fashion, flat is the way to go in future. iOS apps like Rise have already adapted to the flat design trend and created some mesmerizing interfaces. The prime advantage of flat design over skeumorphism is that it doesn’t need to be scaled up to suit every screen size. Flat design looks great on all devices and on all screen sizes.

Still not convinced Flat’s the way to go? Here’s an insightful piece on Flat design that would help you catch up on the trend and re-energize you to go the simpler way.

3.       Say Goodbye to Skeuomorphism

3_1

Skeuomorphism designs are out. When Apple introduced it a few years back, people were a huge fan of it. But, not anymore. Developers are slowly realizing that decorating an UI and giving it a realistic touch doesn’t improve the interactivity or utility of the app.

Looks do matter. But if looks create a bottle-neck on the overall performance of an app, it’s better to settle for something more subtle. That’s exactly where flat inutitive design kicks in. Flat designs are much simpler and better than skeuomorphism.

In case you’re wondering what skeuomorphism is, here’s a little brush up. Skeuomorphism refers to a design approach in which design cues are taken from the reality. Like, turning a page of an e-book should preview the rollover effect. Skeuomorphism has been criticized since long for underutilizing the capabilites of smartphone devices by forcing them to imitate the behavior of a physical object.

4.       Bigger Controls

Bigger is better. Smaller controls no longer grab eyeballs or fingers. When you use bigger controls, you not only adapt a minimalistic design, you also make interaction simpler. That’s the reason why an increasing number of app developers are using larger controls for interaction. They simplify the interface and put the user in control.

4_!

4_@

 

 5.       Beautiful Typography

Bigger, better fonts are fast replacing the monotonous, system-default typefaces. Beautiful typography forms an important aspect of app design, as choosing a state-of-the-art font family like Helvetica, Baskerville, or a custom designed font can really entice users to explore the app.

Previously, the font-size was 10-12px, but now apps are using fonts with 16-18px.  Quite apparently, developers want users to notice what’s being offered by the app. And an easier way to catch their eye is to use larger, catchier fonts.

5_!

Clear lettering is important, especially when you’re developing a professional app. A heavier typeface would make your app look little different than your counterpart, give it a mere professional touch; a lighter typeface, on the other hand, would make the app look simple yet beautiful. Here’s a good place to learn how you can use work with typefaces to create beautiful looking fonts.

5_2

Earlier, it was difficult to integrate different font styles in an app, but the recent SDK improvements on almost all platforms (Windows, iOS, Android) alleviate a designer’s misery. It’s extremely simple to customize an app’s font style now. Case in point, apps like Instapaper, Pocket, Flipboard have already made the most out of beautiful typography.

6.       Touch, Tap, Swipe, Tilt, Wave, Speak

6_1

As we foresee a trend towards minimalism in future, we expect apps to have fewer controls and more interactions. Till now, it was just about touches and taps. But, the trend is soon going to change. For browsing pages, you would soon be tilting your phone to the right instead of swiping your finger to the right; you would be swiping across menus for alternate actions; tapping and holding the screen to refresh the feed; pinching the screen to zoom over and zoom out; waving in front of your phone to wake it up.

That’s how the trend is going to be in future- more interactions in action.
6_@

 7.       Animation as Signboards

7_1

Great animations make great apps.

Animations are going to form an important aspect of app design, but in a much different way. Until now, animations were used as little treats of delight, merely to woo the end-user and to give apps a very snappy look-and-feel.

Well, scratch that. App developers are now putting animations to good use and using them as signboards, instead. The “Slide to unlock” animation on the iOS lock screen gives an end-user a very clear visual representation of the action to be performed. More examples of apps that unleash the power of animation to create intuitive apps can be found here.

Designers are now using animations to get users well-acquainted with the functionalities of the app. Animations like change in appearance of buttons when clicked (change in colour), the swift movement of images in foreground when compared to background, the stretching of images when we move from one page to another (Flipboard style), jittering of a control when long pressed- all these animations give your app a very lively feel. It’s almost as if through animations your app can interpret user’s actions and react towards it. In other words, it personifies the overall look-and-feel of the app. And considering the impending inclination of designers towards amiability, we believe Animations are there to stay, for good.

8.       Native v/s HTML5

8_1

The biggest mistake we made with Facebook for Android was that we over relied on HTML5”- Mark Zuckerberg

Facebook went native with Android a few months back, after getting disappointing results with HTML5.  And, boy! It worked. They were able to pump up the performance of the app and achieve space as well as time efficiency.

Beyond doubt, HTML5 is new, powerful, and time-saving. HTML 5 boasts amazingly powerful media handling controls and scripting using the newer version of HTML is much simpler. But, when it comes to performance, nothing beats native. The only advantage HTML 5 has over native is that it can be ported to any platform.

With users getting more conscious about the performance of apps, if your app runs just a tad slower than contemporary apps, your app might end up in a dead man’s coffin.

That’s the reason why you should take the shift towards native, even if it seems inconvenient at the first glance. We foresee a lot of apps being translated into native language in future, as it improves performance and simplifies the design. Here are some more insights on the HTML5 v/s Native concept.

9.       Vector Graphics

9_1

The biggest challenge a designer faces is scaling up the graphics to suit different screen sizes. It’s easy to design graphics for an app, but holding them up on different devices with different screen sizes and varied screen resolutions- not an easy job.

To make the task of a designer simpler, there’s a tool called Sketch that has been released over the Internet. Sketch helps in developing graphics for a particular screen size and then allows you to scale them up to suit different screen sizes.

Sketch helps in streamlining the whole processing of graphics designing and helps developers in creating resolution-specific designs. Never before has been designing made so simple and convenient. Expect more users to jump on to the vector ship in future, as there’s little reason not to.

10.   Context Sensitive apps: Apps that learn

10_1

Another design trend that we’re going to foresee is the development of context-sensitive apps. These apps change their content depending on where you’re and what you’re doing.  Let’s not forget that apps are being developed for humans. And, hence, they should be able to recognize the behaviour patterns of users and adapt accordingly.

Apps can be developed that automatically go in background when a user stops looking at the phone and revives to life when he stares at it. News apps can be developed that only show the headlines while a user is walking, but when he stops, it shows him the whole cover story.  Weather apps can be developed that show the weather based on a user’s current location.

Designing context-sensitive apps is all about understanding the user patterns and creating an interface that’s personalized for the end-user. At the end of the day, humans crave for objects- be it physical or virtual- that they can connect with. And context sensitive apps provide just that.

Break Out of Your Default Browser in iOS

If jailbreaking is your intention to get free from using Safari as the only browser on your iPhone, then you ought to read the article to know it all. Following the simple rules will give you the freedom of using either one particular browser and/or multiple browsers at a time.browser2

  1. As a first step, you just need to go to Cydia and look for the “BrowserChooser” application. Appearing first on the result list, the app will allow you to choose from a selection of browsers on an iPhone on which you want to open a link. Now for the easy installing process you just need to prod the blue icon on the top right end for confirmation. At the end of the installation process, you will be required to restart the iPhone.
  2. Now to your delight, the “BrowserChooser” will appear at the bottom of your iOS app settings. This new app when selected will give you the liberty to choose your preferred browser from the installed list. You can mark your chosen alternative as the default browser by tapping the particular browser option.

Now whenever you may try to browse, the selected browser will act as the default one. But if you want to use multiple browsers, then you do not require to check mark a particular browser from the “BrowserChooser” list, keeping all the options available at a time for you to choose while opening a link.

It gives you a wonderful chance to use your iPhone’s iOS as well as the benefits of third party browser’s account sync or encryption features. The multiple browser choosing option will also be useful in case your iPhone has multiple users and everyone has their own preferred browser choices.

How to develop iOS apps using Visual Studio

There’s an awesome breakthrough for programmers who are overtly familiar with Microsoft’s Visual Studio IDE, and looking to kick-off with iOS app development.

With Xamarin version 2.0, you can now code iOS apps using C#. The software leverages the Mono. Net runtime, allowing you to develop cross-platform apps on all the three major mobile app platforms- iOS, Android, and Windows.  The new version updates most of the core features, but the highlight is, quite apparently, the ability to develop iOS apps using C#. 

Why Xamarin version 2.0 is a great initiative?

Starting with iOS app development is rough, especially if you’re a novice beginner. You need to familiarize yourself with XCode, the IDE for developing iOS apps. Over and above that, you need to also learn Objective C. Though learning Objective C should not be an uphill task for developers who understand the OOPS concepts well, mastering the language is one thing and merely understanding it is another.

So, if you’re a .NET developer who understands C# fairly well, Xamarin 2.0 is your shortcut to developing iOS apps. Also, you can reduce the effort by half, as with same piece of code, you can develop apps for three diverse mobile platforms- iOS, Windows and Android. Sharing the same piece of code just got easier and simpler with Xamarin 2.0.

How easy is to get started?

In case you doubt how easy it would be to use Xamarin Studio, here’s a reality check. It’s just a plugin for Microsoft Visual Studio, and is tightly integrated with iOS and Android SDKs. The plugin allows you to build, test and debug apps on simulators and real devices.

It can help with coding, but what about design?382920489522

The modern development environment is well complemented by an advanced code completer, a powerful debugger, and interface builder. Interfaces for Android can be designed using the native UI builder, while interfaces for iOS apps can be designed using Apple’s Xcode Interface Builder.

To help developers come up with intuitive designs, Xamarin developers have also launched a Xamarin Component Store that hosts some amazing UI controls, intuitive graphs, beautiful themes, cloud services, and more such powerful features. Xamarin Component Store is designed to work with Visual Studio and Xamarin Studio. So, you can install powerful features from the component store in just a few clicks. However, we have to take note of the fact that most components are not free, and are tied to paid services, and would have to be purchased through the component store.

What about testing, packaging and distributing apps?

The most crucial phase of app development is testing, packaging and distributing apps. Well, Xamarin Studio allows you test your app on simulators and real devices, and also allows you to package and distribute apps right from the IDE. That includes integrated support for TestFlight, which is a testing service for iOS and Android.

How do I get started?xamarin_for_ios_in_visual_studio

Xamarin realizes the fact that it’s important for developers to get the feel of the IDE before they start developing apps. So, they’re offering the starter edition for FREE. The Starter Edition allows you to get a taste of mobile app development using C#, and you can develop, test, and publish small apps using the starter edition.

The Paid version of the plugin is priced at $299 per platform/year for individuals and $999/ year for organizations.

We think this is an amazing initiative that allows you to develop apps for three different mobile platforms (iOS, Android, and Windows), using a language that is relatively easy to master (C#), and using an IDE that the developer community is well familiarized with.  Not only does it reduce the effort on the development side, but it also helps developers create consistent looking apps and mitigates the learning curve.

Download Xamarin 2.0 for Windows. To know how you can setup Xamarin iOS on Windows, click here.

Please note that, although, you can develop apps using Visual Studio, you would need a Networked Mac to build and deploy iOS apps.

How To Develop iPhone Apps For Beginners

Many would think it needs deeper programming knowledge to develop iPhone apps, but in truth, even beginners or those who have a little about programming could end up developing the world’s most popular app. Perhaps, one of the best stories of a struggling developer who was able to find a fortune out of a single app is the story of Ethan Nicholas, the developer of iShoot app. In an interview done by The Guardian, he said he developed the app using his Mac that has seen better days while watching over his baby on the couch.

Nicholas was a Java programmer who knew a little about iPhone app programming language, Objective C. The point is app development needs more determination than vast knowledge on programming language. So, you can just jump into developing your first app, literally. For beginners, here’s how to develop iPhone apps:

Step 1: iPhone App Development Platform 

It’s nothing fancy. If you already have a Mac, then you don’t have to buy a new unit to develop apps for iPhones and iPads. However, for those who are yet to buy an Apple computer but on a tight budget, used units or Mac minis would do the job. All you need is a Mac with Intel-based processor and runs, at least, Leopard version of MacOS X.

Step 2: Software Development Kit (SDK) 

You don’t have to worry about any development kits you need for app development because Apple provided almost everything. You can download SDKs from Apple’s Developer site.

Step 3: Learn Objective C Basics 

Objective C is the primary language used for iPhone development. Being one of the early object-oriented languages, it has a closer resemblance to C/C++ language. But the thing is, anyone who has programming experiences can easily learn Objective C. Unlike before where everything is printed on volumes and volumes of books, today, it is easier to find comprehensive and “made-easy” tutorials online. But the best place to start learning is on Apple’s Developer site and forums.

Step 4: Start Writing/Coding 

You don’t have to master Objective C language before drafting your first app. If you have ideas to start with, you might as well start coding and learn the things you need along the way. Ethan Nicholas, being a Java programmer, said he knew nothing about Objective C, Cocoa and OpenGL when he started writing his first iPhone app, iShoot.

Another developer suggests you find sample projects from the SDK and reverse engineer them to know how they were built. From there, you can start your own and apply the things you need to add.

Step 5: Sign-up To Become Official Developer 

It is a necessity you become one of Apple’s official developers for you to be able to try your app on the real iPhone and not just on an emulator. Apple offers a Developer Program that would cost you $99. You need to agree to Apple’s terms and conditions and you will receive a contract that you need to sign and return to Apple so that you can get a certificate that would allow you to pair your app with an iPhone.

Step 6: Dedicate More Time In Development 

App development would take much of your time; it can become your full-time priority or just part-time. But the thing is, the more time you spend on it, the faster you will be able to launch your app. There’s no shortcut in development. Even if you’re done writing the entire app, you have to dedicate time debugging your codes to make your app perfect. iShoot was fully developed after two months of work and Nicholas had to spend more time debugging crashes.

The length of time will totally depend on your expertise, availability and dedication.

Step 7: Submit Your App  

All developers don’t have control whether their apps will be approved by Apple or not. But based on testimonies of some successful app developers, apps are most likely to get approved when they are unique, original, don’t contain many bugs, with proper description, etc. It is more of like filling in the blanks and wait to receive feedback from Apple.

Step 8: Provide Support, Make Buzz 

The work isn’t finished once your app made it to the App Store. The truth is, your real work is just beginning. As soon as thousands, if not millions, of users get hold of your app, you can expect bugs to be discovered here and there. You need to provide support for these users to gain their support in return. But prior to that, you also have to make a lot of buzz about your app; send press releases to PR firms or websites that you think could help in building the popularity of your app.

Once people start to notice your app and if it offers unique and exciting features, you can now expect to see good sales figures in your reports. But all these are the epitome of your dedication and hard work.