You can develop native mobile applications using HTML/CSS/JS with the help of PhoneGap. I will show you how to achieve the best possibe native experience using web technologies and optimize your workflow with automation.
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveisakamud
Xamarin.Forms é um framework criado para aumentar o compartilhamento de código em aplicativos móveis até na camada de apresentação. Porém, Xamarin.Forms é muito mais que isso, com diversos recursos e customizações que o tornam um framework poderosíssimo para a construção de aplicativos para Android, iOS, Universal Windows Platform e muitas outras plataformas.
Greane Tree Technology CTO Joseph Payette gave our latest “Lunch & Learn” presentation. With the number of tools and frameworks for cross platform mobile application development increasing every year, it can be a challenge to determine the best fit technology for a mobile project. All of these tools and frameworks have their advantages and disadvantages, as they leverage different mechanisms for abstracting differences across mobile devices in an effort to provide a single platform for rapid application development. To bring order to the various options at hand, Joe reviewed mobile application architectures (native, hybrid, and HTML5), and explored and compared a few hybrid tools and frameworks, namely PhoneGap (www.phonegap.com), Appcelerator (www.appcelerator.com), and MoSync (www.mosync.com). Joe’s mobile application development presentation includes sample code for these three tools and frameworks.
The Lunch and Learn series is a regular event where we discuss topics of interest to our projects and clients. Last month, Chad Calhoun explored Git Interactive Techniques.
You can develop native mobile applications using HTML/CSS/JS with the help of PhoneGap. I will show you how to achieve the best possibe native experience using web technologies and optimize your workflow with automation.
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveisakamud
Xamarin.Forms é um framework criado para aumentar o compartilhamento de código em aplicativos móveis até na camada de apresentação. Porém, Xamarin.Forms é muito mais que isso, com diversos recursos e customizações que o tornam um framework poderosíssimo para a construção de aplicativos para Android, iOS, Universal Windows Platform e muitas outras plataformas.
Greane Tree Technology CTO Joseph Payette gave our latest “Lunch & Learn” presentation. With the number of tools and frameworks for cross platform mobile application development increasing every year, it can be a challenge to determine the best fit technology for a mobile project. All of these tools and frameworks have their advantages and disadvantages, as they leverage different mechanisms for abstracting differences across mobile devices in an effort to provide a single platform for rapid application development. To bring order to the various options at hand, Joe reviewed mobile application architectures (native, hybrid, and HTML5), and explored and compared a few hybrid tools and frameworks, namely PhoneGap (www.phonegap.com), Appcelerator (www.appcelerator.com), and MoSync (www.mosync.com). Joe’s mobile application development presentation includes sample code for these three tools and frameworks.
The Lunch and Learn series is a regular event where we discuss topics of interest to our projects and clients. Last month, Chad Calhoun explored Git Interactive Techniques.
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Journey into cross mobile apps development - Xamarin Forms case studyLukasz Jarmulowicz
Presentation about experiences and challenges in developing mobile app using Xamarin.Forms. This is a summup of project. What are good and bad sides of working with Xamarin.
Presentation at Inside Mobile Conference (O'Reilly and 360Conferences) at San Jose, CA on July 27th, 2009.
Today is possible to create mobile offline (and installed) applications using web-related technologies (XHTML, CSS, JavaScript, AJAX, Flash) and additional APIs. WRT for Nokia-Symbian, WebUI for Motorola, WebOS for Palm Pre, online/offline Webapps for iPhone 3.0, widgets for BlackBerry, and other mobile widget platforms for Sony Ericsson, Samsung, Nokia S40, Windows Mobile, Opera and Yahoo!. There is also a new hybrid paradigm using the best of the web technologies and a native development, like the PhoneGap project that can be distributed in the AppStore.
What can we do using this technology? what are the differences between platforms? Can we distribute them in the Application Stores? What compatibility do we have with web standards? What kind of applications are best-suited for this platforms? How to access location, contacts, accelerometer, SMS, home screen and Internet for each platform? What about security and privacy of my code?
Let's see how to create mobile web 2.0 mashups ported to many platforms in a couple of minutes using web knowledge.
How Xamarin Is Revolutionizing Mobile DevelopmentMentorMate
A look at the business case and strategies for cross-platform development.
Developing a mobile app for multiple platforms represents a major expenditure for businesses. Companies looking for a solution to decrease the total cost of mobile ownership through increased code reuse should look no further than Xamarin.
Cross-platform development with Xamarin allows teams to create fully native apps using the same code base, Visual C#. Depending on the Xamarin platform, teams can reach as high as 90% code reuse in developing mobile apps for iOS, Android and Windows. Writing code once and drawing from the same library saves on code redundancy, upkeep and time. Learn how Xamarin development with Xamarin.Forms is transforming enterprise expectations around mobile development creation and maintenance costs.
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Journey into cross mobile apps development - Xamarin Forms case studyLukasz Jarmulowicz
Presentation about experiences and challenges in developing mobile app using Xamarin.Forms. This is a summup of project. What are good and bad sides of working with Xamarin.
Presentation at Inside Mobile Conference (O'Reilly and 360Conferences) at San Jose, CA on July 27th, 2009.
Today is possible to create mobile offline (and installed) applications using web-related technologies (XHTML, CSS, JavaScript, AJAX, Flash) and additional APIs. WRT for Nokia-Symbian, WebUI for Motorola, WebOS for Palm Pre, online/offline Webapps for iPhone 3.0, widgets for BlackBerry, and other mobile widget platforms for Sony Ericsson, Samsung, Nokia S40, Windows Mobile, Opera and Yahoo!. There is also a new hybrid paradigm using the best of the web technologies and a native development, like the PhoneGap project that can be distributed in the AppStore.
What can we do using this technology? what are the differences between platforms? Can we distribute them in the Application Stores? What compatibility do we have with web standards? What kind of applications are best-suited for this platforms? How to access location, contacts, accelerometer, SMS, home screen and Internet for each platform? What about security and privacy of my code?
Let's see how to create mobile web 2.0 mashups ported to many platforms in a couple of minutes using web knowledge.
How Xamarin Is Revolutionizing Mobile DevelopmentMentorMate
A look at the business case and strategies for cross-platform development.
Developing a mobile app for multiple platforms represents a major expenditure for businesses. Companies looking for a solution to decrease the total cost of mobile ownership through increased code reuse should look no further than Xamarin.
Cross-platform development with Xamarin allows teams to create fully native apps using the same code base, Visual C#. Depending on the Xamarin platform, teams can reach as high as 90% code reuse in developing mobile apps for iOS, Android and Windows. Writing code once and drawing from the same library saves on code redundancy, upkeep and time. Learn how Xamarin development with Xamarin.Forms is transforming enterprise expectations around mobile development creation and maintenance costs.
Features:
Self Adjusting Tracking Radar Programmable (recommended) and Simple push-button calibration Output 4-20 mA/ 20-4mA (Isolated on 4 Wire Model's only ) Optional RS232 OR RS485 For communications with calibration diagnostics & data logging software PL Compatible (Modbus RTU) Three or four Wire Operation
Application:
1) Food and Beverages Water / Wastewater Chemicals with vapors
2) Solids with Dust Powder
Mechanical:
Conduit Entry : 1/2" NPT x 2
Enclosure : Aluminum or S.S-94V0
Ingress Protection : NEMA4 (IP65)Type 4/4X
Environmental:
Temperature : -40to 140 F (-40 to 60 C)
Approvals : FCC Part 15 - Low communication device
Installation category: class II
Process:
Temperature PP Rod : - 40 to 176 F (-40 to 80 c)
De-coupler & PTFE Rod - 40 to 350 F(-40 to 177 c)
Material Dielectric : Er >2
Max. Pressure : 5 bar (without De-coupler)
For very dusty applications divide max. range by two.
Varies Ranges : from 0 to 150 mm Wc up to 0 to 600 Bar
Differential (Dead Band) : Fixed (Within 10% of set value)
Temperature Range : -10 to 80 Degree C (for high temperature use of impulse tube is advisable)
Accuracy : +/- 1% to 2% FS
No. of Switches : one no. or, two nos.
Type of Switches : Micro Switches - SPDT
Sensing Element : Diaphragm (PTFE or Neoprene or SS 316) or Piston
Enclosure : Dustproof IP 40, Weatherproof to IP 54 / IP 65 / IP 66, Flameproof
Slides from a presentation I gave at these conferences:
— Big Design
— Front Porch
— Thunder Plains
— Web Afternoon
I co-presented at Big Design with Matt Baxter.
http://twitter.com/mbxtr
The Great Mobile Debate: Native vs. Hybrid App DevelopmentNick Landry
It’s not easy being a mobile developer. iOS and Android dominate the market, Windows Phone is climbing into third place, and we’re not really sure if BlackBerry still matters. Do you focus on one platform or many? What size of the mobile population do you really want to reach? Each mobile platform comes with its own programming languages, SDKs, IDEs and application lifecycle & architecture. Are we really expected to learn all of this? Isn’t HTML5 supposed to be the Silver Bullet so we can finally write apps once and run them everywhere? This session will demystify all these questions, walking you through the modern mobile ecosystem, and explore your options as a developer. We’ll review the native story on each major platform, discuss the pros & cons of both mobile native and web development, cover some of the cross-platform solutions available to developers, and explore best practices and guidelines to insure a successful mobile strategy. Don’t just blindly pick a side or assume that “one size fits all”, this session covers one of the most hotly contested debates in modern IT. Come join us and be a part of the conversation.
Cross platform mobile app development tools reviewUday Kothari
Presentation to discuss various Cross Platform Mobile Apps development tools. Rhodes, PhoneGap, Appcelerator, Sencha Touch, Xamarin, MoSync SDK and MoSync Reload.
Cross Compilation, VM, Mobile Web. Join our Meetup group for meeting great app developers, entrepreneurs, startups, students in Pune (Pune Mobile Apps Developers Meetup)
Mobile application development does not need to be difficult for us Web Developers. No longer do we need to learn a whole slew of new programming languages to create a mobile application. We can use our existing skills and create mobile applications with Html, JavaScript, and CSS. Then deploy to Android and iOS devices using a single code base that looks, feels, and performs like a native mobile application.
Apache Cordova enables the packaging of our web code into the mobile application that we will deploy to the App Stores but it does not include a UI framework. For the UI framework, we will be using Ionic framework. The Ionic framework takes the worry out of making the UI look, feel and perform correctly on the slew different Apple and Android devices that your users will have. It allows you to focus on your business logic and not the underlying infrastructure. Your time to market will be greatly reduced.
In addition to the free, open-sourced framework, Ionic also has a slew of highly useful cloud based tools that you can pay for it you need them such as Push Notifications, User Authentication, Native Builds, and Live Updates. Push Notifications allows targeted pushes and custom scheduling to improve push notification engagements. User Authentication provides a single authentication solution with email & password authentication, as well as third-party providers like Facebook, Twitter, Google and more. Native Builds turns your code into the native app binaries for the Apple and Android with a single command. Finally, Live Updates gives you the ability to push updates and UI changes to your user immediately without going through the app stores.
In this talk we will dive into what it takes to get started, look at the features of the Ionic framework and finish off by creating a sample application with the Ionic framework. You will walk away from this talk with all of the tools that you need to deliver your first mobile application
Session conjointe de Zaak Chalal (RedFabriQ) et de Erik Polzin (Xamarin) au Microsoft Techdays 2014 sur le thème du développement d'applications mobiles en natif.
Mobile Developer's Guide To The Galaxy No. 9Marco Tabor
This non-commercial brochure by the German company Enough Software (www.enough.de) provides an overview on the different mobile technologies and platforms. Almost 20 writers contributed their know-how and outline their views on the pros and cons of different operation systems and development approaches. Together with the Wireless Industry Partnership (WIP), we started this project in 2009. The current 9th edition has been presented in October 2011 and consists of 170 pages.
Please send your feedback and input directly to developers@enough.de
Use the same address if your company would like to sponsor upcoming editions.
In case you would like to get hardcopies of the guide, we will be happy to send them over to you. You would just need to pay us the postage and packaging.
Are you looking for budget-friendly mobile applications? Do you want an application that reaches a wider audience? Want to hire cross-platform app development company for your dream project? For all of these questions, there’s one solution, i.e. cross-platform application development services. Cross-platform is among those platforms which have made mobile application development easy and highly used among the coders. Cross-platform app development market has been undergoing a tremendous increase in popularity. Better user-interface, quick loading time, and easy customization have made the rank of cross-platform technology higher than any other technology.
End to-end native iOS, Android and Windows apps wtih XamarinJames Montemagno
Xamarin enables C# developers to become native iOS, Android, and Microsoft Windows mobile app developers overnight. Learn how to leverage your existing .NET and C# skills to create iOS and Android mobile apps in Visual Studio with Xamarin. See how to extend an app with Microsoft Azure App Service creating a connected experience while sharing logic with a .NET backend running on Azure. Next, we take a look at automating the mobile apps with Xamarin Test Cloud for automated user interface testing. Finally, we tie it all together into VSTS to build and distribute our mobile apps with HockeyApp with each commit. By the end of this session you will a full grasp of end-to-end development with Xamarin.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
2. X-PLATFORM NATIVE APPS IN C#
AND .NET USING XAMARIN TOOLS
(IOS/WP/ANDROID)
MARK J RADACZ, MCTS
DEVELOPER, GLOBAL RAD SOLUTIONS, LLC
WWW.MDUGJAX.COM
WWW.NFLXUG.COM
BLOG: XRADAPP.COM
@MARKRADACZ
4. Who am I?
Mark J Radacz
#HusbandFatherLife-LongMateGeek
Enjoying every trip around the Sun
MCTS, Consultant, Developer
10 years in .NET + iOS recently
Ex-Blackberry-Apple-WP “fanboy”
6. Write C#
Run on 2.5+ billion devices
With Xamarin, you write your apps entirely in C#, sharing the same
code on iOS, Android, Windows and Mac
7. AGENDA
What is Xamarin Studio
Why choose Xamarin tools
UX Design
Code Demo in iOS, WP and Android
8. WHAT IS XAMARIN
Write in C# - run on iOS (iPhone, iPodTouch, iPad) and Android
Built on top of Mono
Xamarin Studio - Mac OS X APIs
Xamarin.Android - Android SDK APIs
.NET Base Class Library (BCL)
LEGIT!
11. APPS IN C# FOR IOS, ANDROID
AND WP
Write apps in C# (run on 2.5 billion devices)
shorter, more maintainable code
advanced language features (Language Integrated Query (LINQ), delegates, lambdas, events,
garbage collection and many other)
Reuse up to 90% of code between platforms
Native UI, Native Performance
Modern Language, Powerful Framework
.NET Libraries and Objective-C libraries
Rich IDE Support (also edit code in VS)
16. SHARE CODE BETWEEN PLATFORMS
App functionality – save development
time
business logic
data access and
network communications
Xamarin helps to share the same C#
code across iOS, Android, Mac, and
Windows
GUI Designed separately on Each
platform
18. SHARING CODE BETWEEN PLATFORMS
File Linking into each App Project
File Linking into Separate Projects
Cloned Project Files
Microsoft Project Linker
http://bit.ly/12C4pNF
22. XAMARIN TEST CLOUD
Start immediately
Useful Visual Reports
Hundreds of non-jailbroken devices
Test for fragmentation
Built for Continuous Integration
Object-based UI testing
script-free and scriptable
25. Scripting technology for Xamarin Test Cloud
UI Test Automation for iOS & Android
Run UI tests on Devices or
Simulators/Emulators
Supports Behavior Driven Development
(BDD)
Provides the Automation APIs needed to
interact with UI controls in an app
wait for events to occur (i.e. no network
activity)
make assertions about the visible view
generate screenshots of the app
app-lifecycle APIs (start/stop, uninstall, etc)
39. REFERENCES
Xamarin DevCenter - http://docs.xamarin.com/guides/cross-platform/
free/$299/$999/$1899 per year per platform
(starter/Indie/Business/Enterprise)
UX
Apple - Human Interface Guidelines
Android – Design Guidelines
Windows Phone – UX Design Guidelines for WP
DevCenter Memberships
Apple – http://developer.apple.com ($99/year)
Android – http://developer.android.com ($25)
Win Store – http://dev.windowsphone.com ($19/99 year)
XUG & My Info
www.NFLXUG.com
blog: www.iRadApp.com
radacz.mcp@gmail.com @MarkRadacz
Editor's Notes
WP over iPhone and AndroidCall quality. I actually use my phone as a phoneSimplicity. Samsung Focus S, Nokia 900 and Nokia 800 were flawless out of the box. No junk software. Speaking of science experiments, I also tried a Android on Samsung Galaxy, Captivate, HTC MyTouchsoftware that cannot be deleted and restarts itself? Simplicity again. Everything after set up has been painless as well. Adding apps, setting up email accounts, etc. I thought the iPhone was good. WP set up was actually smoother and took WAY less time. Same for Wi-Fi, etc.Speed. The 900 4Gdidn’t seem to lag the way the iPhone did at times. Live Tiles. It’s a minor thing but the Metro tiles are pretty cool.
Use any native APIXamarin's binding technology exposes all of the APIs available in iOS and Android to your applications as regular C# class libraries. This means your Xamarin application can do anything a platform, or device, offers, with native user interface and excellent performance.
Native compilationXamarin's compiler is smart - so smart that it can produce exactly the right output for each platform. Xamarin.iOS does full Ahead-of-Time (AOT) compilation to produce an ARM binary suitable for Apple's App StoreXamarin.Android takes advantage of Just In Time compilation right on the Android device. Your shared code never needs to know the difference!
Leverage the full .NET runtimeXamarin contains a fully functional implementation of the .NET runtime, called Mono, which is bundled with your app so that your code executes with all of the power of C# and .NET, including memory management, reflection, and the .NET base class libraries. Create fully native apps with device-specific experiences that today’s mobile users demand. Xamarin delivers high performance compiled code with full access to all the native APIs that make each device platform unique.With Xamarin, you can write your mobile apps entirely in C#. Not only can you write succinct, strongly typed and garbage-collected code, you can utilize Language Integrated Query (LINQ), Delegates and Events, and easily import existing libraries written in C#, C/C++, Java, and Objective-C.Xamarin allows you to share all the non-UI code across iOS, Android, Mac and Windows apps, significantly reducing the barrier to building and maintaining multi-platform apps. Save time building apps in this heterogeneous computing world by sharing up to 90% of your code.Xamarin gives you great tools to design, develop, debug and deploy apps. Point and click to create user interfaces, explore native iOS and Android APIs as you type with code autocompletion, debug apps running on emulator or device, and distribute apps to app stores or internally. Use Visual Studio or use our own cross-platform IDE, MonoDevelop.It is possible to edit code in Visual Studio have access to ReSharper and other tools, than move it over to MonoDevelop
Samsung have a 47.5% share of the Android market.Samsung are, with Sony-Ericsson in second with a 6.5% market share - less than 1/6th of Samsung's. Some of the brand names shown as different in the graphic are part of the same company, i.e. Moto and Motorola are the same and HTC is shown as split up into its different regional variants. But even when unified under one umbrella name Motorola only ends up with a 4.2% share and HTC even less at 3.9%. Fragmentation is both a strength and weakness of the Android ecosystem. When comparisons are made between Android and iOS the issue of different API levels, and the vastly different devices running them, is often emphasised. In this report we examine the extent of Android fragmentation and analyse its impact on both users and developers.The Problem:Android devices come in all shapes and sizes, with vastly different performance levels and screen sizes. Furthermore, there are many different versions of Android that are concurrently active at any one time, adding another level of fragmentation. What this means is that developing apps that work across the whole range of Android devices can be extremely challenging and time-consuming. The Advantage:Despite the problems, fragmentation also has a great number of benefits – for both developers and users. The availability of cheap Android phones (rarely running the most recent version) means that they have a much greater global reach than iOS, so app developers have a wider audience to build for. It may be tricky to do, but the potential reward definitely makes it worthwhile. For consumers, extreme fragmentation means that they can get exactly the phone they want – big or small, cheap or expensive, with any number of different feature combinations.
The iOS designer is Xamarin Studio’s alternative to Xcode’s Interface Builder that provides an integrated experience for working with Storyboards. It is similar to the Xamarin.Android designer, and facilitates building Views using drag-and-drop functionality and property fields.
Share code between platformsArchitect your app so that the UI is cleanly separated from the rest of the code. Deliver a device-specific, native user experience by writing code that calls the native APIs, while sharing business logic, data access, and network communications code.
File Linking into each App Project – Use the ‘file linking’ feature of Visual Studio & Xamarin Studio to include the same file in each platform’s application. File Linking into Separate Projects – Use the ‘file linking’ feature of Visual Studio & Xamarin Studio to include the same file in multiple library projects (one for each platform). Cloned Project Files – Rather than linking, directly include the same files in multiple projects (one for each platform). Microsoft Project Linker – A tool that only runs on Windows, which keeps multiple project files synchronized as source files are added to each.---------------Portable Class Libraries are the simplest way to share code across multiple platforms, however they have some disadvantages including the custom configuration currently required to install PCL support.File linking or cloned project files are simpler to create but require constant manual intervention to keep them synchronized.The code sharing strategy you choose will be driven by the platforms you are targeting. Choose a method that works best for your project.
File Linking - The simplest approach to sharing code files is to place them in a separate directory (ie. outside of your various mobile application projects) and use file-linking to include them1.1. ExampleA cross platform application that supports iOS, Android and Windows Phone would require an application project for each platform. The shared code lives in a separate filesystem directory from all the projects, and all the shared source code files are linked in to each application’s project.An example solution would contain the following folders and projects (project names have been chosen for expressiveness, your projects do not have to follow these naming guidelines):Core – Filesystem directory containing the shared code. Optionally create a “csproj” file to manage the source, but this project file will not be referenced by any other part of the solution. AppAndroid – Xamarin.Android application that contains linked-files for all the source code in the Core directory. AppiOS – Xamarin.iOS application that contains linked-files for all the source code in the Core directory. AppWP7 – Windows Phone application that contains linked-files for all the source code in the Core directory. In this way the three application projects are effectively sharing the same source code (the C# files in Core.Android). Any edits to the shared code will be shared across all three projects – however, file additions or deletions must be done manually. Add files in the filesystem (or use a separate library project to contain them) and then update all the application projects’ linked files to keep them in sync.1.2. BenefitsAllows you to share code across multiple projects.Shared code can be branched based on the platform using compiler directives (eg. using #if __ANDROID__, Application projects can include platform-specific references that the shared code can utilize (such as using Community.CsharpSqlite.WP7 in the Tasky and MWC samples). 1.3. DisadvantagesIn Visual Studio there is no simple way to add an entire filesystem ‘tree’ to a project, so files must be individually added. The directory hierarchy must also be manually created. If you add, delete or move a file in one project you must remember to perform the same action in all the other project files. Refactoring will only work within one platform type.Empty subdirectories must also exist before you can ‘link’ files contained within a subdirectory. If you forget to choose Add As Link (in Visual Studio), it will copy the file into your target project instead of linking. If you don’t notice this has occurred you could accidentally edit both the original file and the copy, getting them out-of-sync. 1.4. RemarksWorks for all platforms but requires careful, manual management of file links.
2. File linking to separate projects2.1. ExampleA cross platform application that supports iOS, Android and Windows Phone would require three shared-code project files and three application projects. Because the Android project can be loaded in both Xamarin Studio and Visual Studio it makes sense to use it as the ‘source’ project.An example solution would contain the following folders and projects (project names have been chosen for expressiveness, your projects do not have to follow these naming guidelines):Core.Android.Source – Xamarin.Android Library Project that contains the shared source files. Core.iOS.Linked – Xamarin.iOS Library Project that links to all the files in Core.Android. This project contains the same directory structure as Core.Android but NO physical C# files, they are all linked. Core.WP7.Linked – Windows Phone Library Project that links to al the files in Core.Android. This project contains the same directory structure as Core.Android but NO physical C# files, they are all linked. AppAndroid – Xamarin.Android application that references Core.Android. AppiOS – Xamarin.iOS application that references Core.iOS. AppWP7 – Windows Phone application that references Core.WP7. In this way the three application projects are effectively sharing the same source code (the C# files in Core.Android). Any changes to the shared code should be done in the Core.Android project – file additions or deletions must then be manually re-done in the other two Core projects with linked files to keep them in sync.2.2. BenefitsAllows you to share code across multiple projects.Platform-specific projects can each have different compiler directives defined, so you can branch code based on the platform (eg. using #if __ANDROID__, as discussed in the [Building Cross Platform Applications] document). Platform-specific projects can include platform-specific references (such as using Community.CsharpSqlite.WP7 in the Tasky and MWC samples). The code using these references can be managed with compiler directives. 2.3. DisadvantagesIn Visual Studio there is no simple way to add an entire filesystem ‘tree’ to a project, so files must be individually added. The directory hierarchy must also be manually created. If you add, delete or move a file in one project you must remember to perform the same action in all the other project files. Refactoring will only work within one platform type.The project file must live in a separate directory to enable files to be linked. Empty subdirectories must also exist before you can ‘link’ files contained within a subdirectory. If you forget to choose Add As Link (in Visual Studio), it will copy the file into your target project instead of linking. If you don’t notice this has occurred you could accidentally edit both the original file and the copy, getting them out-of-sync. 2.4. RemarksWorks for all platforms but requires careful, manual management of file links.
Xamarin StudioIDE for developing cross-platform apps with C#. Available for Mac and Windows.Xamarin for Visual StudioVisual Studio add-ins so that you can develop your Android, iOS and Windows apps all in a single solution.Xamarin.AndroidAndroid phone and tablet apps in C#, using Xamarin Studio or Visual Studio.Create Android app layouts from directly within Visual Studio and Xamarin Studio with drag and drop simplicity.Xamarin.iOSiPhone and iPad apps in C#, using Xamarin Studio or Visual Studio.Xamarin.MacNative Mac apps in C#. Expand your app reach to 66 million Macs and reach new users through the Mac App Store.Xamarin.MobileLibrary that increases code-sharing by exposing a single set of APIs for accessing common mobile device functionality across device platforms.
Find bugs before your users do.Start immediatelyQuick and easy to get started with the Xamarin App Explorer.Beautiful reportsMore than detailed technical feedback: visual reporting and performance monitoring.Hundreds of devicesBe confident that your apps function correctly and looks great on actual physical devices.Test for fragmentationTest automatically on hundreds of combinations of operating systems, screens, and resolutions.Continuous IntegrationUse command line tool to run your tests or execute automated acceptance tests as part of your continuous integration process or ALM.Object-based UI testingTest your entire app, from the UI down, using object-level user interface testing.
Lowest-Common-Denominator User InterfacesOne of Xamarin’s strengths is the ability to build a native UI on each platform. Avoid re-using the user-interface design across iOS, Android and Windows Phone without tweaking it for each platform. For example: don’t build a ‘Back’ button into your Android or Windows Phone applicationsdon’t build a custom tabbed-control for iOS where the tabs sit across the top of the screen. Use the metaphors that the users on each platform are familiar with.
MWCPhonewordEmployee DirectoryField Service on iOS
Here is a summary of the key points for creating Xamarin cross-platform apps:Use C# - Write your apps in C#. Existing code written in C# can be ported to iOS and Android using Xamarin very easily, and obviously used on Windows Phone. Utilize the MVC design pattern - Develop your application’s User Interface using the Model/View/Controller pattern. Architect your application using a Model/View/Controller approach or a Model/View/ViewModel approach where there is a clear separation between the “Model” and the rest. Determine which parts of your application will be using native user interface elements of each platform (iOS, Android, Windows Phone and Windows 8/RT) and use this as a guideline to split your application into two components: “Core” and “User-Interface”. Build native UIs - Each OS-specific application provides a different user-interface layer (implemented in C# with the assistance of native UI design tools): On iOS use the MonoTouch.UIKit APIs to create native-looking applications, optionally utilizing Apple’s Interface Builder. On Android, use Android.Views to create native-looking applications, taking advantage of Xamarin’s UI designer On Windows Phone you will be using the XAML/Silverlight presentation layer, using Visual Studio or Blend’s UI designer On Windows 8, use the Metro APIs to create a native user experience.The amount of code re-use will depend largely on how much code is kept in the shared core and how much code is user-interface specific. The core code is anything that does not interact directly with the user, but instead provides services for parts of the application that will collect and display this information.To increase the amount of code re-use, you can adopt cross-platform components that provide common services across all these systems such as:SQLite-NET for local SQL storage, Xamarin.Mobile for accessing device-specific capabilities including the camera, contacts and geolocation, Using framework features for networking, web services, IO and more.Some of these components are implemented in the Tasky Pro and MWC 2012 case studies.Separate Reusable Code into a Core LibraryBy following the principle of separation of responsibility by layering your application architecture and then moving core functionality that is platform agnostic into a reusable core library, you can maximize code sharing across platforms, as the figure below illustrates: