Selecting Right Technology For Your Enterprise Mobile Solution

Selecting Right Technology For Your Enterprise Mobile Solution

The main purpose behind writing this article is to focus on the different variants of mobile technologies present in the market.

The mobile market has been quite crazy over the last 5 years. We have seen too many trends, techniques and technologies emerging and dissolving over the period of time. This article assumes that you are a mobile app developer who wishes to choose the best technology for his Enterprise Mobile Solution.

Let’s go through different mobile development technologies generations one by one and see their advantages/disadvantages.

  • 1st Generation (Native)
    • iOS – Objective C / Swift
    • Android – Java
    • Windows -.NET
    • Advantages
      • Native UX
      • High Performance
      • Hardware and Platform Access
    • Disadvantages
      • Single Platform
      • No Unified Codebase
  • 2nd Generation (Hybrid HTML and JavaScript)
    • PhoneGap
    • Appcelerator
    • Apache Cordova
    • Kony Mobile
    • Advantages
      • Multiple Platform
      • Unified Codebase
    • Disadvantages
      • No Native UX
      • High Performance
      • Hardware and Platform access
  • 3rd Generation 
    • Xamarin
    • React
    • Advantages
      • Multiple Platform
      • Native UX
      • High Performance
      • Unified Codebase
      • Hardware and Platform access

There is a transition from Native, then hybrid and now cross platform. The technology is getting much better and faster day by day.

The native generation is still transition proof and many prefer it over the later two generations. It is because it offers seamless performance, support, and resources. The direct support from Apple and Google is an important factor in selecting these technologies.

The growth in the second generation is stagnant due to the rise of the third generation. People are using Cross Platform (Native) to use a single language for development across platforms and also share more than 40% codebase to reduce time-to-market.

The only factors which help people use the cross-platform app (native) over the normal native apps are code sharing, time-to-market and resource constraints. Those who fall in this category are going towards cross-platforms apps which not only have native UX but also performance.

Also, I see that many still are confused between Hybrid and Cross Platform. Let me tell you, these are completely different kind of technologies. Let’s understand their definition:

Cross Platform:

It is a solution developed to minimize development efforts by compiling the source code for further execution on multiple mobile platforms. But the result of each separate compilation will be an individual executable file. For example, iOS executable file has .ipa extension, and for Android, it is *.apk, etc.

Hybrid:

These apps are developed using web technologies like HTML, CSS, Javascript etc. It is an app which runs in a “wrapper” and serves not as a web page, but as a standalone application.

Good professionals are very sensitive to the concept of development, efficiency and productivity and most of them have unique vision “what is good and what is bad?”, but usually, it is all about technology set that use, care and cherish. In general, it may happen that the budget decides everything, so the basic background for the emergence of cross-platform solutions was their benefits to business, namely:

  • Need a single developer who can develop a mobile app and deploy it for different OS. Thus you eliminate a need for full-time developers for every single OS;
  • Difficult to find developers for individual platforms when the business requirement is critical
  • Ease to manage the app versions for different mobile operating systems

Let’s see some key takeaways and considerations to compare Xamarin and Hybrid Mobile App. To understand the difference in a much better way with quantification, I have created a sample app which demonstrates and provides the detailed analysis of the key points as follows.

Key Takeaways:

  1. Cross Platform (Native) app fulfills most of the requirements whereas Hybrid app was unable to deliver on the key piece of functionality without requiring custom Objective-C and Java

  2. Xamarin performs CPU-intensive tasks much faster than Hybrid HTML

  3. Cross Platform Native loaded large datasets faster than Hybrid HTML

  4. Cross Platform Native used less memory than Hybrid HTML

User Experience Key Considerations:

  • Native look and feel
  • Hardware & Platform Access
  • UX Design Capability

Developer Productivity Key Considerations:

  • Volatility of HTML frameworks
  • API Access Extensibility
  • Stack Complexity
  • Strongly-Typed Development
  • Compilation Time

Metrics:

Performance (ms) – to load and display a single page

  1. iOS
    • Xamarin – 1400 ms
    • Hybrid – 2000 ms
  2. Android
    1. Xamarin – 3690 ms
    2. Hybrid – 4502 ms

Compile Time (sec) – to compile the mid-size app

  1. iOS
    • Xamarin 34 sec
    • Hybrid  18 sec
  2. Android
    1. Xamarin 32 sec
    2. Hybrid 25 sec

Code Reuse (%) – considering the basic flows and libraries used

  1. Xamarin Native – 45%
  2. Xamarin Forms – 96%
  3. Hybrid Mobile – 99%

App Size (MB)

  1. iOS
    • Xamarin – 35 MB
    • Hybrid  – 11 MB
  2. Android
    1. Xamarin – 11 MB
    2. Hybrid – 6 MB

TCO Key Considerations

  • UFC (Upfront Cost) vs Maintenance
  • End-UserProductivity App Adoption
  • Agility Costs

Conclusion:

The selection of technology for your enterprise solution is a process which consists of various parameters. Some of them are budget, time-to-market, user experience, performance, explicit requirement and code reuse.

 

Solutions to common issues working with Xamarin

Solutions to common issues working with Xamarin

Hi everyone, I have been thinking to write this article for quite a while now. Being continuously working on Xamarin in-depth and proposing solutions to the clients, you face some common problems. This article focuses on the resolving these issues faced by Xamarin developers and help them for smooth Xamarin Solution.

You may find some problems related to core development and some related to the solution proposal. If you feel anything is missing and needs to be present in this list, feel free to drop a comment and I would be really happy to add it to this list with mentioner’s name.

 

Problem 1: It may happen that you are unable to access Android SDK as it was installed in the administrator folder and was not having required permission to access it.

Solution: User must have Admin rights to access that folder.

Problem 2: Unable to provide internet access to emulator even after changing the proxy settings.

Solution: You can try to increase the target API level and install the ARM EABI v7a system image for it and then change the proxy settings of the emulator.

Problem 3: Emulator starts and stops immediately. Failed to create Context 0x3005 for an emulator.

Solution: It requires to update the Intel GPU driver.

Problem 4: Unable to use the local database in Xamarin app as it cannot find the physical path of the database file.

Solution:

Xamarin creates its own database in its APK file as follows:

Set absolute path for folder creation like:

String path = System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal);

String Applicationfolderpath = System.IO.Path.Combine (path,”Database1”);

Where Database1 is the name of the newly created database

Create the folder path like below:

System.IO.Directory.CreateDirectory (Applicationfolderpath);

Create database in set path like below:

String databasefilename = System.IO.Path.Combine (Applicationfolderpath,”User.db3”);

Where User.db3 is the name of the database file.

SQLite.SQLite3.Config (SQLite.SQLite3.ConfigOption.Serialized);

SQLite.SQLiteConnection Db = null;

Db = new SQLite.SQLiteConnection (databasefilename);

Var res = db.CreateTable<Classname> ();

Problem 5: Unable to provide WCF service on another machine

Solution: Provide service on other machine using IIS manager.

Problem 6: What is the difference between Page and Activity?

Solution:   

  • Page
  1. It is a visual that occupies most or all of the screen and contains a single child.
  2. A Xamarin.Forms.Page represents a View Controller in iOS or a page in Windows iPhone.
  3. On Android each page takes up the screen like an Activity but Xamarin.Forms Pages are not Activity.
  • Activity
  1. Activity represents a screen in an application.
  2. Android Application Architecture doesn’t have a single application instance so there is an aggregation of one or more activities.

 Problem 7: Mac machine is required to develop iOS app on Xamarin

Solution:

developer.xamarin.com/guides/ios/getting_started/hello,_iOS/hello,iOS_quickstart/

Problem 8: Visual Studio for showing option to select an emulator to debug and run iOS simulator on Windows only

Solution:

  1. Build the application
  2. Select the emulator from Device Manager
  3. Start the Emulator
  4. Click on the Start button of the Visual Studio
  5. It will then display error as “deployment failed due to fast dev process”
  6. Go to Project=>Properties=>Android application then uncheck the “use FastDev process”
  7. Again click on start
  8. With the latest updates for Xamarin.iOS, you can run iOS simulator on Windows Machine only. To enable this, go to settings and check run emulator on windows option

Problem 9: How to develop iOS app using Visual Studio.

Solution:

Required Components

For Mac

  • Latest iOS SDK
  • XCode latest version
  • Mac OS X 10.9.4 + or 10.10 above

For Windows

  • Windows 7 or higher
  • Visual Studio 2012 Professional or higher
  • Xamarin’s plugin for Visual Studio

Create Xamarin.forms blank project in Visual Studio. It will then ask for Mac IP or Mac name. Provide the required information and connect it to the Mac machine.

 Problem 10: How to add an application on Google Play Store.

Solution:

  1. Create the APK file of the application
  2. Navigate to Google Developer Site
  3. Logging into Google Developer Console. If you do not have an account create a new account. The last step in the process of creating a developer account is paying a one-time $25 developer fee using a credit or debit card
  4. Click on the button Add New Application
  5. Initialize APK Upload. Select correct language and write the name of the app as you wish it to appear in the google play store. Then select upload APK button
  6. Click on Upload your first APK to Production button centered on your screen
  7. Select and upload APK file
  8. Navigate to the store listing tab on the left side and write the description in the description box which will appear on the google play store
  9. The next step in the store listing tab is to add screenshots
  10. Then add a store listing icon
  11. The final step on the “Store Listing” page is filling out the categorization, contact details, and privacy policy, located below the icon selection area. Fill out the required fields as you wish and hit save. The “store listing” tab should now have a green check-mark next to it
  12. Click on Price and Distribution tab where you will select paid or free, distribution countries, and check the boxes saying that your app complies with the guidelines and the US export laws. Click on save button
  13. Once all the three tab at the left have a green mark you are then able to select “Publish this app” from the “Ready to Publish” drop-down menu in the top right corner of the developer console. A confirmation bar should appear at the top, stating that your app will appear in the Google Play store in just a few hours

Problem 11: On creating new Xamarin.forms project in Visual Studio it is giving the error “Could not add all required packages to the project.

The following packages failed to install from ‘C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\COMMON7\IDE\EXTENSIONS\XAMARIN\XAMARIN\3.9.236.0\Packages'”:

Xamarin.Forms.1.3.1.6296: Could not install package ‘Xamarin.Forms 1.3.1.6296’. You are trying to install this package into a project that targets ‘Xamarin.iOS,Version=v1.0’, but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author”.

Solution:

  1. To solve this issue open your visual studio go to tools -> Extensions & Updates -> select updates -> select visual studio gallery then update your NuGet package manager
  2. Update the Visual Studio Version if the updates for it are available. Update it using the same above procedure as for updating NuGet manager

Problem 12: On creating new Xamarin.forms project in Xamarin Studio it is giving the error “Could not add all the required packages to the project”.

Solution:

  1. Add the xamarin.forms packages
  2. Install PCL libraries. Following is the link to download PCL libraries https://visualstudiogallery.msdn.microsoft.com/b0e0b5e9-e138-410b-ad10-    00cb3caf4981/
  3. After this reinstall or repair xamarin
  4. In Xamarin Studio, right click on the project select options=>build=>general then change the target framework to that profile which is installed.

Problem 13: Windows application prerequisites and steps.

Solution: Prerequisites for Windows app

  1. You need the latest version of windows
  2. Microsoft Visual Studio: Microsoft Visual Studio 2013 helps you design, code, test, and debug your apps
  3. If you don’t already have Visual Studio 2013, install the free Visual Studio Express 2013 for Windows

If you already have Visual Studio Professional 2013 or a higher edition, get Update 3 for Visual Studio 2013 to add the Windows Phone development tools and other enhancements to your existing installation:

(Optional) Register your Windows phone device for development:

It’s important to test your Windows Phone Store apps on a real phone. Before you can deploy apps to your Windows Phone, you have to register the phone for development.

  1. Connect your phone to your PC.
  2. Run the Developer Phone Registration tool (phonereg.exe).

Register as an app developer:

Now that you’ve installed the tools you need, you need a developer license or a developer account. A developer license is free and lets you develop Store apps, but you need a developer account to sell your apps in the Windows Store and the Windows Phone Store.

  1. To get a developer license, just launch Visual Studio. You’ll be prompted to get a developer license
  2. To get a developer account, go to the Signup

Steps to create a Project:

  1. Make sure you’ve downloaded and installed the Windows Phone SDK
  2. Launch Visual Studio from the Windows Start screen. If the Registration window appears, you can register the product, or you can temporarily dismiss the prompt
  3. Create a new project by selecting the FILE | New | Project menu commandIn the New Project window, expand the installed Visual C# or Visual Basic templates, and then expand Store Apps. Select the Windows Phone Apps
  4. In the list of Windows Phone Apps templates, select the Blank App (Windows Phone)
  5. At the bottom of the New Project window, type MiniBrowser as the Name of the project
  6. Click OK. The new project is created and opens in Visual Studio
  7. https://dev.windows.com/en-us/getstarted#1

Notes

Installation instructions for Xamarin

  • Install Java JDK
  • Install Android SDK (Including all API levels)
  • Visual Studio 2012 Professional
  • Install Xamarin Studio

If Xamarin Studio is installed before Visual Studio then Xamarin needs to be reinstalled

Problem 13: When your codebase is on TFS and linked with the local workspace present on Windows machine. How to design UI for iOS apps easily.

Solution:

  1. It is recommended that you must connect with Mac agent and share your codebase for mac machine user. This will enable that same codebase is present on both machines
  2. Once the codebase is shared, select the main folder and uncheck read-only option if present by any chance
  3. Open the project in Xamarin Studio on Mac
  4. Right click on the Storyboard file inside Xamarin Studio and open it with XCode

The support by iOS designer in Xamarin is not much fast yet and you are always recommended to use XCode to design your iOS app. Once the changes in XCode are done, they are reflected in your Xamarin project

Problem 14: How do I share code in Xamarin Native apps?

Solution:

You can create .NET class library if you want to share code between iOS and Android apps. It is recommended for a normal mobile app to consume to class libraries like Common Code and Service Connection Code.

If you wish to extend support to Windows Phone as well, then .NET class library does not work there. You are advised to use Portable Class Library (PCL). This library can be used in iOS, Android and Windows Phone Xamarin apps.

Problem 15: What are different types of Xamarin apps and which one should I propose to my client?

Solution:

  1. If you wish to go native, you can go for Xamarin.iOS, Xamarin.Android and Xamarin.Mac
  2. If you wish to go cross platform with UI sharing, you can go with Xamarin.Forms option
  3. If you wish to develop windows app which works on Windows Phone, Windows 10 then go with Xamarin UWP (Universal Windows Platform) app
  4. Still there are lot of different templates being created as the new versions of Xamarin.Studio are coming up

These were some common problems faced by developers. I am working on Xamarin in depth and would keep on posting some interesting information on this blog regularly. If you have any questions, you can post in comments section.

Thank you.

 

 

 

 

Weather forecast for Mobility in 2016

Weather forecast for Mobility in 2016

This post covers the emerging or the extension of the current mobile trends in the upcoming year 2016.

Everyone would agree to the fact that mobile is our future. Has anyone of you given a thought behind different things in mobility which are really worth to be considered as the emerging trends or can bring the disruption?

Today, there are almost 6.8 billion mobile phone subscriptions for seven billion on this earth and it took 20 years for it. Mobile world has revolved round the earth and every single person (assuming rest 0.2 billion people will get mobile in 2016) has mobile and a cellular subscription. Most of these people have smartphones, they are into every corner of the world – thus connecting world. Does that mean that mobile revolution is over? I feel it is definitely NOT.

It is true that the mobile markets are nearing the maturity level, everywhere you will find smartphones in dozens. We have tons of apps over different app stores and people are using them. So, what would be see more of it in 2016 and later on? Maybe smart apps? Mostly likely.

Today, most of the people are literally living, working, and exploring on mobile. Mobile has become addictive for many. As 2016 approaches, the most powerful developments in the mobile marketing space will be the ones that serve customers with customized and amazing experiences that actually enhance their lives. There are different trends which can shape to build long-terms relationship with clients through mobility space:

Reform business in Mobile

Mobile has forced business to adapt to a new marketing approach i.e personalized buying experience according to consumer needs. Each business can now use the mobile platform to reach out to their customers and offer new products and services based on the financial and non-financial constraints. The industries which are reluctant to shift to mobility have no choice but to shift to mobile because of the competitors.

The reformation of business in mobile, people/employees can become more productive and efficient by working from anywhere, anytime. This is very crucial for sales people to automate information and show presentations to the client with images, videos to snap the deal. Even the mobile interface between company and employees has been a great way reform the engagement. We would see every part of every business going mobile way in buying and selling process.

Mobile-First strategy

As “mobile-first” becomes the norm for every age group, consumers from all over the world have captured their interest in mobiles. One can do everything using mobiles like face-to-face interaction, e-mail, SMS, CRUD documents etc. This mobile trend has accelerated across all the businesses. It will be interesting to see how these businesses successfully market and monetize their mobility to consumers?

We have seen Flipkart go with Mobile-only strategy this year but then in November, they came up with Flipkart-Lite app to show support on mobile web too. You might have heard that Google ranks pages in its search engine based on their compatibility with mobile. The higher the mobile compatibility, the higher the page rank for your pages. You can read more about this in Business News Daily.

Internet of Things

This is the future for almost 10 years from now on. The apps are getting smarter and linked with plethora of different endpoints like gadgets, vehicles and personal electronic equipment’s etc. Moreover, by 2020, the number of devices alive on internet will reach to whopping 40 billion. I have written a separate post on internet of things. You can check it here.

Mobile Video Ads

Facebook and Twitter has started playing videos automatically so that users present on Facebook. Video Ads on Mobile has many challenges though it looks simple and promising.

According to the survey, around 8 second video ad is best suited for mobile assuming that you don’t have a skip ad option. I feel that most of the companies will struggle to tell about brand in 8 seconds and mold their ready-made ads i.e. traditional 30 and 60 second ads to shorter promos. The research firm expects mobile video advertising to hit $2.6 billion this year.

Video ads on social media will become more prevalent. Google is also planning to incorporate video ads in search results to make it more appealing and eye-catching for users.

Growth in Advertising on Social

As you might be aware about ‘buy’ button introduced by Facebook and Pinterest this year for advertisers and users. I feel that we are going to see more of it in coming year. The mobile users can see this button with a sponsored post on Facebook and Pinterest and people can actually purchase the product using one click without leaving the mobile app. This has started and many other social platforms will also follow them just like mentioned here.

Mobile Commerce

As seen above, Business Insider conducted survey about monthly visitors across retails websites and it is found out that mobile only percentage has surpassed desktop. There are high chances that desktop only will get diminished over the next 2 years.

Virtual Reality

Are you aware about this new technology called as Virtual Reality? It is a computer simulated programming concept which can simulate your presence the real world. Google has introduced Google Cardboard, which lets Android and iPhone users sample the virtual reality experience in an easy and relatively inexpensive way. There is no need to invest in expensive VR headsets for development. If Google Cardboard succeeds then companies will be able to let customers experience their products  before they buy. In fact, some brands are already on board.

There are lot many small but exciting stuff coming in new year. Stay tuned for more updates on this front.

How does IoT matter to you?

How does IoT matter to you?

This post must have grabbed your attention because you are aware about IoT and why it is one of the major investment hub in the today’s market. You might have read many articles about IoT, how it works, what are the different technologies, components that are involved in the complete IoT system. This post is more from a consumer perspective rather than a developer.

The concept of IoT for a consumer is absolutely fascinating. It is obviously more fun when someone else is doing all of our work when we take rest. That’s more like a aim for IoT system. People like to give orders and get their work done in style, but the icing on the cake is when you don’t give any order but work is done. Sounds exciting, right?

Mobile has become most important and quick interface for ubiquitous computing for consumers. It is not limited to SMS, e-mail, surfing and apps but serves as the socket to the consumer IoT needs.

The consumer expects that everything around him should work for him over a single click of a button. To serve this command, it is essential that all objects must be smart objects. The expectation is not hypothetical but true. There are various different sensors present in the market which can allow users to do anything using one click. The smart objects need some extra chip which can help send and receive command/data to the consumer. The objects can be anything like windows, doors, curtains, watches, televisions, automobiles, coffee maker, health monitors, thermostats, security systems, LCD, AC, plug, pantry and household products etc. This list can go on and on as there are plenty objects around us, signifies the vast investment already done in IoT.

For example, I have a button sensor of a particular vendor. I click on this button sensor to off my dinning room lights and also stop camera recording. This can be achieved by creating rules using IFTTT concept.

Some of the example could be a consumer wants his smart alarm clock to wake him up at 6 am and commands coffee maker to brew coffee. Some person would like his car to be smart enough to identify problem in car components and tell the customer service on our behalf so that they can serve him better and faster.   Some enthusiastic gym person would want his wearable device like smart watch or smart band to inform about the calories burnt in the entire day at night time so that he can plan activities for the next day. Some of your colleague would want to paint can knowing it’s nearly empty or your car recognizing when you are going to the hardware store to buy another. As already said, there are n number of use cases and applications involved in IoT system.

Though I don’t have any smart devices installed at home except my smart watch,  I have read many articles of people mentioning about their experience for their installed connected devices at home and it is worth to reconsider the goals of IoT industry. Most of the people believe that security has utmost importance as most of the data involved is private. If the system is secure, more people prefer it.

They want to automate everything that they do or should happen repeatedly most of the days. The example could be that they should be able to remotely turn on a light while sitting on the couch. Lights should turn get dim automatically during evening time. This depends on the various light modes available to the user and he has selected one by default for the best case.  Some consumer need application to ask for permission before dimming the lights. The use cases differ for person to person.

Image a house combined with Google Now. It is all about home as a platform. Imagine a water sensor in a bathtub and that links to a radio or light plugged into a connected wall socket so when water splashes outside the tub, immediate feedback can be generated to tone it down. This might be the custom use case and may not be included in the offered home automation packages currently.

As there is no limit to the innovation in IoT and lot of creativity can be achieved in connected homes. The services like IFTTT (i.e. Rules and Recipes) to drive the automation stuff have great appeal. Consumers need app connecting home to be easier, rather than too much too much configurable. The key is minimum click, maximum automation output with easier process.

Also, I have seen that people don’t prefer smart objects of different vendors. This can lead to managing them using different apps and can be painful in management. It’s also why hardware vendors like Nest or Samsung are trying to push smart products into the user’s home where the more devices from that same vendor you buy, the better experience you have. But I don’t think consumers buy devices that way, and it also ignores the idea that the real value in the connected home are actually the services.

But when it comes to the smart home, this race to appreciate the customer is the defining drama of this market. I think that it will shake out in the next year as more and more people will purchase connected products would want to automate many things than just turning on the lights from couch. I expect biggies like Apple, Samsung, Amazon, Microsoft and Google will release their products soon in the market for IoT as they have already release many IoT frameworks for the developers. Lot more exciting stuff is going to come soon.

Mobile Friendly Update – Google Mobilegeddon

Mobile Friendly Update – Google Mobilegeddon

Google has taken a great step ahead to rank websites based on the compatibility support for mobile users, usability factors and app indexing. This will affect only for users browsing google search on mobile devices. The algorithm for desktop/laptop users remains the same.

Google also said that mobile ranking factors will not only label your websites as mobile-friendly, but will also use that to determine if your website should rank higher in the search results.

This algorithmic change will have a “significant impact” in the mobile search results, impacting all languages worldwide. But this change is not done abruptly or as a earthquake. Google has been constantly providing hints to users from last October about “Mobile friendly” algorithm when it had launched mobile specific labels last year.

The android applications that are indexed by Google with the help of app indexing mechanism will begin to rank better in mobile search. Obviously, this will work only for signed-in users who have the app installed on their mobile devices.

What does this algorithm will actually do?

You must be knowing about GoogleBot. It will look at the UI of your website and not just see specific font sizes but see how a user would see the fonts on different mobile devices. This is not just about viewing website UI but about functioning too i.e. It also checks how a user will see page scrolling on a mobile interface. It checks buttons, labels are large enough for better UI and can click on.

GoogleBot renders the website page and finds out flaws like tiny fonts, big headers etc as a user would. To showcase an example, if HTML page has a 24px font size, then GoogleBot render it with JS and CSS, it might have new font size size to 10 px which leads to a bad user experience. Similar is the case when user tries to zoom and pan the website. GoogleBot will correlate it to a view port of the mobile device and would calculate the impact for the user.

To summarize, GoogleBot sees what a normal user see when browsing the website on mobile.

I have seen a lot of people talking about this change as harmful for business and search rankings. According to me, this change has a positive mindset towards the effectiveness of “Mobile Friendly” internet. This will make sure that companies provide a good UI support to its mobile users and help to grow mobile only users (who used to view websites as desktop view earlier.)

This post basically tells you about the fastest way to integrate social platforms like Facebook, Twitter and Google+ in iOS.

FACEBOOK

There are two ways we can integrate Facebook with iOS.

  • Using Facebook SDK
    1. Facebook SDK is only for Facebook and can perform various tasks related to Facebook only. It is reasonably easy to integrate Facebook into any iOS app and much more powerful than the Social Framework. Another benefit is that support goes back to iOS 4.3
    2. SDK offers several features provided in FB and several of them can be integrated in iOS app. For example: you can use different dialogs to post on your friend’s wall and can run FQL queries and graph operations too. Not possible using social framework
    3. User is asked for authentication first, once the user is authorized then he can use Facebook APIs in SDK and perform operations
  • Using Social Framework in iOS
    1. The Social Framework is designed for simple, site-neutral data manipulation. Examples might include getting the user’s ‘activity feed’ or posting a new status or photo
    2. Social framework doesn’t means only FaceBook. It is larger than only Facebook, it includes Facebook, Twitter, Sina Weibo and LinkedIn also
    3. Social Framework supports iOS 6.0 onwards
    4. If your app supports iOS 6.1 and above, Social Framework is highly recommended
    5. iOS specific native dialogs are open to post anything on social platforms
    6. User can configure Facebook and Twitter app already integrated in iOS and then can direct share content from iOS app on the configured accounts

Single SLComposeViewController helps you to share multiple social platforms. The only thing that you need to do is to change the type of social account and you are through.

Note: According to Apple, 89% of the iOS devices are already on iOS 7. The percentage will be higher if iOS 6 is included. So, if the requirements for the usage of Social Platform features are minimum (like share), then Social Framework is the way to go!

TWITTER

For Twitter, the best way to integrate is to use Social Framework. In the old versions of iOS, twitter framework was present but that is replaced by social framework. If the accounts are not configured in the settings section, then you will see below screen and will ultimately take you to settings to configure Twitter or Facebook.

 

Login

GOOGLE+

As there is no integrated support for Google+ in iOS, it is mandatory to use Google+ SDK for iOS for integration.

You can start your integration journey for Google+ from here .

If you have questions on the integration of social platforms, then you can ask in the comments section. Enjoy integrating!

– See more at: http://atozgeek.com/integrating-social-platforms-in-ios/#sthash.9Peg6rai.dpuf