1. What is Xamarin?.
answer:It is cross platform development technology, where we can build native user interfaces for iOS, Android and Windows Phone using single codebase with C#.
2. What is the difference between Native App and Cross Platform APP?
answer:Native App: If we want to develop native apps, we need to choose the specific native language (C#, Objective-C, Swift, and Java) for developing specific native app for Windows, Android, iOS.Cross Platform App: This is the way to develop all three mobile apps using single code base wrapped in a native application layer, but it always requires customization of interfaces to native languages.
3. How many ways we create Xamarin applications?
answer:
There are three ways in Xamarin to build great apps.Xamarin.forms.Xamarin.android.Xamarin.ios.
4. What is TestFlight?.
answer:TestFlight is now owned by Apple, and is the primary way to beta test your Xamarin.iOS apps.
5. What is Xamarin.iOS application compiler?
answer:Xamarin.iOS application compiler compiles Xamarin.iOS applications directly to native ARM assembly code.
6. What is Xamarin.Android application compiler? . answer:Xamarin.Android application compiler compiles down the Intermediate Language (IL), which is then Just-in-Time (JIT) compiler to native assembly when the application launches.
7. What is hockeyapp?. answer:Hockeyapp offers a testing service for iOS, Android and Windows phone.
8. What are the programming languages that support Xamarin Development?. answer:Xamarin is unique in this space by offering a single language – C#, class library, and runtime that works across all three mobile platforms of iOS, Android, and Windows Phone (Windows Phone’s native language is already C#)Also offers xaml support for creating user interface.
9. What Kind Of A Firm Is Xamarin?.
answer:Xamarin is a medium growth firm.
10. What Platform Are You Compatible For Making Apps?. answer:Tell them the platform that is known perfectly to you.Eg: Android, iOS or both.
11. Why Xaml in Xamarin.Forms?.
answer:XAML(Extensible Application Markup Language) allows developers to define user interfaces in Xamarin.Forms applications using markup rather than code.XAML defines the visual appearance of a UI, and an associated code-behind file defines the logic.The UI design can be adjusted without necessarily making changes to the logic in code-behind.XAML in this role simplifies the workflow between individuals who might have a primary visual design responsibility and individuals who are responsible for app logic and information design.
12. What was the major advantage of Xamarin Development?. answer:We can deliver native iOS, Android, and Windows apps using existing skills, teams, and code(C#, xaml )We can take full advantage of Native API’s with Xamarin Technology . And Xamarin.Forms elements map to native controls and behaviorsXamarin Component Store allows adding high-quality components to your app directly from your IDE, including controls, web service APIs and more.PCL/ Shared projects makes very easy for developers to share the same code base across different projects.
13. What are the life cycle's of Xamarin.forms app development?. answer:Life-Cycle means a specific sequence of the application from start to finish of the application. So there are three important states in the life cycle of a Xamarin app development.OnStart: Called when the application starts.OnSleep: Called each time the application goes to the background.OnResume: Called when the application is resumed, after being sent to the background.Note:There is no method for application termination. Under normal circumstances (ie. not a crash) application termination will happen fom the OnSleep state, without any additional notifications to your code.
14. What is the significance of ASP.NET routing?. answer:ASP.NET MVC uses ASP.NET routing, to map incoming browser requests to controller action methods. ASP.NET Routing makes use of route table. Route table is created when your web application first starts. The route table is present in the Global.asax file.
15. How many ways we can create Xamarin applications? . answer:There are two ways to deliver native iOS, Android, and Windows apps using Xamarin TechnologyTraditional Xamarin approach: This approach can provide direct access to platform-specific API’s. And we can create platform specific apps such as using Xamarin.iOS for iOS applications, using Xamarin.Android we can create Android applications.Xamarin.forms: This architecture is the same as that of traditional cross-platform apps. The most used method is to implement Portable Libraries or Shared Projects to save the shared code, and then create specific applications for each platform that will consume this shared code.
16. What is Android platform SDK Access? . answer:Xamarin Android exposes Google's Android SDK. The SDK Manager downloads Android SDK tools, platforms, and other components that you need for developing Xamarin.Android apps. Visual Studio includes an Android SDK Manager that replaces Google's standalone SDK Manager.
17. What is Xamarin Windows platform SDK Access?. answer:Windows apps are built using Visual Studio on Windows. Project types include Windows Forms, WPF, WinRT and Universal Windows Platform (UWP).
18. How to setup first PAGE (Launch page) in Xamarin android?. answer:First page has set as Main Launcher attribute as True on your First Activity. Reference the below mention code[Activity (Label = \Register\, MainLauncher= true, Icon = \@drawable/icon\)]public class RegisterAcrivity: Activity//Your code}
19. What are different extension output files generated from xamarin.forms?. answer:If we run the Xamarin app, it can generate following application packages for different platforms.xap/.Appx for windows phone 8, Windows, UWP.ipa file for IOS.apk file for Android
20. What are the different application package running modes in Xamarin?. answer:When you compile an application, you usually choose between below two modes:Debug: Debug mode pads the executable file with extra information used for debugging purpose. After your application is bug-free and feature-complete, there's no longer any need to keep the debug information.Release: Compiling in Release mode gives you a more compact (and even slightly faster) executable that doesn't include unnecessary internal debugging symbolsNote: Packages should be in release mode, which would be provided to an App store.
21. How does Xamarin.Android(Mono for Android) work?. answer:On Android, Xamarin ships a fully functional implementation of the .NET runtime, called Mono, bundled with your app so that your code executes with all of the power of C# and .NET, including JIT-compilation, memory management, reflection, and the .NET base class libraries. Developers can use any native features by interacting with .NET class libraries that provide one-to-one mappings to all of the native APIs on Android.
22. How does Xamarin.IOS work?. answer:On xamarin.IOS uses the Ahead-of-Time (AOT) compiler compiles xamarin.iOS application directly to native ARM assembly code.
23. Name 5 apps that were designed with Xamarin for Android?. answer:Goal 2014 Football Manager, The Secret Society, iLearnForKids, Parental Access and Toolwiz Cleaner.
24. Name 5 apps that were designed with Xamarin for iOS? . answer:Apocalypse Archer: Zombie Invasion, Stone Skimmer - The skimming action game, QuickPlan - Project Plan HD, KorfballScout and Newspager.
25. What do you feel is the major difference between a base class and interface? . answer:An interface cannot contain any implementation whereas a base class can.
26. Which language does Xamarin support for App development?. answer:Xamarin supports C# and F# for app development.
27. What are the different code sharing techniques in xamarin.forms?. answer:There are two alternative methods for sharing code between cross-platform applications:Portable Libraries(PCL)Shared ProjectsThe goal of a code-sharing strategy is to support the architecture, where a single codebase can be utilized by multiple platforms.
28. What does Pages in Xamarin.Forms? . answer:The Page class is a visual element that occupies most or all of the screen and contains a single child. And pages in xamarin.forms are directly mapped to like below:In iOS it is a View ControllerIn Windows Phone it is a Page.In Android it is a Activity.
29. What are the different kinds of Pages in Xamarin.Forms?. answer:Fortunately Xamarin.Forms support multiple page representations, And every representation is having its own purpose like below:ContentPage: A Page that displays a single View, often a container such as a StackLayout or a ScrollView.MasterDetailPage: A Page that manages two panes of information.NavigationPage: A Page that manages the navigation and user-experience of a stack of other pages.TabbedPage: A Page that allows navigation between children pages, using tabs.TemplatedPage: A Page that displays full-screen content with a control template, and the base class for ContentPage.CarouselPage: A Page allowing swipe gestures between subpages, like a gallery.
30. What are the layout controls available in Xamarin.Forms?. answer:Layout is the process of sizing and positioning child elements in UI.ContentPresenter: A layout manager for templated views. Used within a ControlTemplate to mark where the content to be presented appears.ContentView: An element with a single content. ContentView has very little use of its own. Its purpose is to serve as a base class for user-defined compound views.Frame: An element containing a single child, with some framing options. Frame have a default Xamarin.Forms.Layout.Padding of 20.ScrollView: An element capable of scrolling if it's Content requires.TemplatedView: An element that displays content with a control template, and the base class for ContentView.AbsoluteLayout: Positions child elements at absolute requested positions. User assigned anchors and bounds defines the position and size of the control.Gr A layout containing views arranged in rows and columns.RelativeLayout: A Layout that uses Constraints to layout its children.StackLayout: A Layout that positions child elements in a single line which can be oriented vertically or horizontally. This layout will set the child bounds automatically during a layout cycle. User assigned bounds will be overwritten and thus should not be set on a child element by the user.
31. What are Views? . answer:Views are commonly known as controls of widgets. And they can refer to visual objects such as Label, Button, Entry, Image, BoxView, ListView, TableView..etc. All UI elements are typically are sub-classes of View.
32. How to draw rectangle in Xamarin.Forms?. answer:BoxView is used to draw a solid colored rectangle. So below source code can create Accent colored rectanlge with width ->200 & Height->100<BoxView Color=\Accent\ WidthRequest =\200\ HeightRequest = \100\/>
33. What is the difference between Editor & Entry?. answer:Both views are helpful for user to enter text, but there is a small difference is Entry only has one line, whereas a Editor usually has multiple lines that allows user to press ENTER.
34. What is Cell in Xamarin.Forms?. answer:Simple it is not a visual element, but it just describes a template for creating a visual element. And one important note is that Cells are elements designed to be added to ListView or TableView controls.
35. Why we need write platform specific code in Xamarin Forms?. answer:Xamarin Forms can almost provides 90-95% of share code for all three mobile platform projects (Windows, Android, iOS). However, there are going to be cases where you need to get at something that really isn’t generic, something that’s done a little differently on each platform. That could be something relatively significant (like a custom “renderer”) or something as simple knowing the platform-specific path for local storage, geolocation,text-to-speech..etc.
36. What is difference between DisplayAlert and DisplayActionSheet?. answer:Xamarin.Forms has two methods on the Page class for interacting with the user via a pop-up: DisplayAlert and DisplayActionSheet. They are rendered with appropriate native controls on each platform.DisplayAlert presents an alert dialog to the application user with a single cancel, and it does not having importance to collect information from the user. public Task DisplayAlert (String title, String message, String cancel)DisplayActionSheet displays a native platform action sheet, allowing the application user to choose from several buttons. Example: await DisplayActionSheet (\ActionSheet: SavePhoto?\, \Cancel\, \Delete\, \Photo Roll\, \Email\);
37. What is difference between Entry and EntryCell in Xamarin.Forms?. answer:Entry is a visual element, where user can enter single line text.EntryCell is not visual element, it is subtype of Cell and it describes a template for label and a single line text entry field. It is normally for use in a ListView or TableView.
38. How to use Device.OnPlatform in xaml and C#?
answer:
Device.OnPlatform is a generic method that has three optional parameters: iOS, Android, and WinPhone. It can be used to provide platform-specific values. For example if we want to set different padding values for different platform we can use like below:In Xaml:<ContentPage.Padding><OnPlatform x:TypeArguments=\Thickness\ iOS=\0, 20, 0, 0\ Android=\0\ WinPhone=\0\/> //left and right padding: 0; top padding: 20 (only on iOS)</ContentPage.Padding>In C#:On page constructorPadding = new Thickness (0, Device.OnPlatform(20,0,0), 0, 0); //left and right padding: 0; top padding: 20 (only on iOS)
39. What are list of compiler directives available in Shared Asset Project(SAP) ?
answer:
Compiler directives are only available in Shared projects and not in PCL. And these are useful to write platform specific code using C# preprocessor directives #if, #elif, #else, and #endif with conditional-compilation symbols defined for the three platforms, as list of compiler directives shown below:__IOS__ for iOS__ANDROID__ for AndroidWINDOWS_UWP for the Universal Windows PlatformWINDOWS_APP for Windows 8.1WINDOWS_PHONE_APP for Windows Phone 8.1For example, to get operating system in windows phone#if WINDOWS_PHONE_APPEasClientDeviceInformation devInfo = new EasClientDeviceInformation();
40. What is Data Binding in Xamarin?
answer:
Data binding is a technique to automatically synchronize a user interface with its data source.When a binding is established and the data or your business model changes, then it reflects the updates automatically to the UI elements and vice versa.Data binding connects two objects, called the source and the target.The source object provides the data. The target object, which must be a bindable property,will consume (and often display) data from the source object. It is also possible to bind,not to a standard data source, but to another element on the page.
41. What are different type of Data Binding modes in Xamarin?
answer:
Data binding connects two objects, called the source and the target. So the relationship between target and source is defined by members of the BindingMode enumeration and there is four kinds of binding modes are available in Xamarin.Forms.Default (Optional & not considered)OneWay — changes in the source affect the target (normal).OneWayToSource — changes in the target affect the source.TwoWay — changes in the source and target affect each other.
42. What are the different scenarios to use Data Binding in Xamarin.Forms?
answer:
Not only with data source, we can also use Data Binding concept in various scenarios like below:*View-to-View Bindings: This is the scenario, when we want to link properties of two views on the same page. In this case, you need to set the BindingContext of the target object using the x:Reference markup extension.*Backwards Bindings: A single view can have data bindings on several of its properties.*Binding with Model: Here the scenario is like, a view property is binding with specific class object.*Binding with Collections: It is scenario, where we want to bind list of objects to view. For example ListView defines an ItemsSource property of type IEnumerable, and it displays the items in that collection.
43. Why we need to use Model-View-ViewModel(MVVM) pattern in Xamarin?
answer:
The Model-View-ViewModel pattern can be used on all XAML platforms. Its intent is to provide a clean separation of concerns between the user interface controls and their logic.Benefits:During the development process, developers and designers can work more independently and concurrently on their components. The designers can concentrate on the view, and if they are using Expression Blend, they can easily generate sample data to work with, while the developers can work on the view model and model components.The developers can create unit tests for the view model and the model without using the view. The unit tests for the view model can exercise exactly the same functionality as used by the view.
44. What is NuGet and how it can help in Xamarin App Development?.
answer:
NuGet is the most popular package manager for .NET development. It is built in to Xamarin Studio 5 and Visual Studio. You can easily search for and add packages/third party libraries to your Xamarin.Forms using either IDE.
45. What does behaviors in Xamarin.Forms?
answer:
Behaviors are very important and useful to add functionality to user interface controls without having to subclass them. Instead, the functionality is implemented in a behavior class and attached to the control as if it was part of the control itself. For example adding an email validator to an Entry, controlling an animation, adding an effect to a control.Xamarin.Forms supports two different styles of behaviors:Xamarin.Forms behaviors: classes that derive from the Behavior or Behavior<T> class, where T is the type of the control to which the behavior should apply.Attached behaviors: static classes with one or more attached properties
46. What are uses of DataPages in Xamarin.Forms?. answer:Data pages allow developers to quickly and easily consume a supported data source and render it using built-in UI scaffolding that can be customized with themes.
47. What is the difference between Modal pages and Modeless pages?
answer:
Modal Page: We’ll use modal pages when your application needs some information from the user and you don’t want the user to return to the previous page until that information is provided. Below C# code is used to navigate to specific page name is DetailPage.async void ModelPageNavigation ()await Navigation.PushModalAsync (new DetailPage ()); //Navigate to Details Page}Modeless Page: The difference between modal and modeless pages mostly involves the user interface that the operating system provides Back button on the page to return back to the previous page.async void ModelessPageNavigation ()await Navigation.PushAsync (new DetailPage ()); //Navigate to Details Page, will create Back button navigation page}
48. What is HttpClient?
answer:
HttpClient makes developers to connect with external world through internet using REST-base services.
HttpClient class is for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.HttpClient class found in System.Net.Http namespace.
49. What do you mean about Activities?
answer:
Activity is a single screen, provides platform for graphical user interface.
50. What is Xamarin ContentPage?
answer:
A ContentPage is a class that displays a single View, often a container such as a StackLayout or a ScrollView. It is found in Xamarin.Forms.ContentPage namespace.