How can I get started with Xamarin from Visual Studio 2013? - ios

I want to port a Compact Framework/Windows CE app to Xamarin to create Android and IOS (and possibly Windows Phone) "versions." I reckon I need Windows 8 for Windows Phone (8) but for now I thought I could get started with Android and IOS in moving this prehistoric app into the 21st century.
According to this article, I first need "Project linker" and can NuGet it, but searching for it via Tools > Extensions and Updates in VS 2013 returns no search results.
That article says you need VS 2012 or better; the direct link to "Project Linker," though, says it supports VS 2010.
Where do I go from here?
UPDATE
I went here, and am in the processing of downloading.
UPDATE 2
Here, it says, "Modern Integrated Development Environment (IDE) – Xamarin uses Xamarin Studio on Mac OS X, and also Xamarin Studio or Visual Studio 2010 on Windows."
Yet in VS 2013, I do have project types now for Android and IOS*, so I reckon that's just a typo (hasn't been updated)?
although I don't have a Mac, so that is not possible for me right now; also, since I'm still on Windows 7 at work, Windows 8 Phone apps are not yet a possibility, either. So at present, Xamarin within Visual Studio is simply a replacement for Eclipse/Java in the creation of Android apps.
UPDATE 3
I've been waiting for something better than PhoneGap, and I think maybe I've found it. If MS were to buy this company and bake Xamarin into Visual Studio -- voila!/yowza/wow! The cats in Cupertino will have to reach for the Pepto-Bismol!

That's a bit outdated and there's a much better approach available today.
You can use Portable Class Libraries (PCL) to share code across project spanning iOS, Android, Windows (Phones) and even OSX.
See this article (and where it leads) for more details.

I certainly agree with #poupou that PCL's are the way to go (if possible). I would recommend James Montemagno's app on github. He just created this for channel9 using VS 2013. I just created a cross-platform app based off of this and it worked out well. I would only use the file-linking for the platform specific implementations with compiler directives. This can be seen in his ServiceRegistrar class in said app.
This SO answer actually explains how to get the 2012 Project Linker to work with 2013 if you still want to go that route and gives a link to the extension.
Also, you may want to check out MvvmCross. It is open-source, has a large user-base and following, and really helps with maximum code re-use. Best part, it uses PCLs and all of it's features (plugins) are available via nuget.
I would recommend reading the article #poupou posted, watching James' channel9 videos on his github page, and (if you want to check out mvvmcross) watch #slodge's N+1 videos on mvvmcross.

Related

how to run SmartStore.NET in visual studio 2015?

how start smartstore.net in visual studio localhost without any error
i download github code and open project file from
SmartStoreNET-3.x\src\SmartStoreNET.sln
The download link https://github.com/smartstoreag/SmartStoreNET
I use visual studio 2015 enterprise edition and windows 10.
First, you must be change the "Solution Configuration" to Debug mode, and second change the "Solution Plataform" to Any CPU.
This work for me.
I recently went through this integration/configuration procedure trying to get a local instance of SmartStore.NET up and running with demo data. I was able to get there eventually, but the development environment setup was by far the most tricky.
I would suggest starting with these two links:
http://docs.smartstore.com/display/SMNET30/Installing+SmartStore.NET
http://docs.smartstore.com/display/SMNET30/How+to+build+SmartStore.NET
I have a hunch you're issue may be your development environment configuration is not fully correct. Check out this page for more details about requirements:
Technology and Prerequisites
http://docs.smartstore.com/pages/viewpage.action?pageId=35555597
*NOTE: they reference ASP.NET 4.5.1 but I had to use 4.61 to take advantage of some newer features in C# 7.0 - Tuples, and several others)
Probably the most significant discovery I found was their were dependency issues when trying to restore the NuGet packages referenced in the solution. I had to go through this process maybe 4 or 5 times to finally get the app running locally.
Once all of this was complete, getting it working in 2015 required little effort.
I would also suggest narrowing your question to more specific problems. (that's just me)

WinObjC: How to know what cocoa frameworks are supported / handled?

Trying to bridge my iOS application to W10 app using WinObjC which looks nice (but still a preview)
My iOS app is using CommonCryptor for encryption purpose. When I try to build my freshly imported app in Visual Studio I got an error related to kCCKeySizeAES128 which is missing (coming from CommonCrypto).
How can I assume that this native framework is supported by WinObjC, and if it is supported how can I tell that everything is working (link is done right in visual studio) / where do I look?
I work on the iOS bridge project at Microsoft. While we've implemented many of the iOS frameworks commonly used by apps, we haven't done them all; many frameworks have only been stubbed out so that projects will compile and run. We're adding support for missing pieces with every release, however, so you should update frequently.
Generally, you can see what's supported and not supported by the bridge in the Visual Studio debug console. When missing or stubbed APIs are called, you'll get a message with details. We're also working on tools that will make browsing the API surface area easier.
If you find missing APIs, you should definitely file an issue on Github, as it's the best way to get in touch with our team and directly affects our development roadmap.
Thanks for checking out the project!

DirectX SDK / VS2013 SDK setup

I am a beginning programmer university student and I want to apply myself outside of class with a side project. I wanted to start programming some simple directX stuff in C++ for practice and preparation for future classes.
However, I have Visual Studios 2013 installed and the DirectX SDK June version installed, and I can't seem to find any directX templates in visual studios. In tutorials I have watched, when a person goes into visual studios 2013 and clicks on "Visual C++", they have a lot more templates show up, including DirectX ones.
What step am I missing to be able to see these things in my Visual Studios 2013 professional?
Thank you in advance for the help!
There is no built-in templates for desktop DirectX, since you have installed the DirectX SDK, I recommend you use the Samples/Demos from the SDK(you can find it from DirectX Sample Browser), there is a sample called Empty Project, you can install that sample and write your code based on it.
There are only templates for DirectX Windows Store Apps. I cannot remember if it ever was DirectX Desktop templates in Visual Studio.
On a picture here you can see two default DirectX Windows Store Apps templates and new templates which you can to download.
Probably, in your tutorial there are some home made templates, or those which can be fond on a web. You can easily make your own template too.
If you really want to learn program for Desktop (and as you are trying to use DirectX SDK it is probably what you want), just follow the code that you can find in books and tutorials. Also it is a good idea not to copy any code, but to start your own projects(s) which will develop as long as you will develop your knowledge.
Note, that DirectX SDK was deprecated a while ago (latest version is dating June 2010). You must use Windows SDK for any new code. Though, you can compile old samples (which requires stuff not present in new SDK) with DirectX SDK. You could find interesting some of Q&A on that topic:
DirectX SDK vs Windows SDK: which one to use?
Working with Direct X and VS2012
and this blog on MSDN by Chuck Walbourn - MSFT :
Where is the DirectX SDK?
Where is the DirectX SDK (2013 Edition)?
Living without D3DX
Happy coding! ;)

How to use Xamarin in Visual Studio and Mac in the same time

I have just developed and android app using eclipse and now I want to develope its IOS version. I want to use Visual Studio and C# (I feel pretty much comfortable in these environments).
I read that, to achieve this I can use Xamarine. Everything is OK with configuring Xamarine on Visual Studio and using it in Visual Studio (I understood this part). I couldnt understant the "mac" part. They are saying that in order to build this app I need a mac running in my local network. Unfortunately I have no idea about Mac. Instead of using it in a local network, could I just install it in a Virtual Machine in windows and configure it on that way that I can see this mac from Visual Studio (How can I do this ?! :S).
I am sorry if my question is unclear but I would be greateful if any of you helps me understand these issues and help me develop my first IOS app in Visual Studio.
If you are going to do iOS development using Xamarin you need a Mac. A Mac will always be required to submit the app to the app store, and the way Xamarin works, you need to use a Mac to create the UI for iOS apps as well.
To get the most of the Xamarin, you ideally would develop your base code using Xamarin and C#, then build separate UI's for both Android and iOS. While your UIs are separate, your base core code is all the same for both apps.
It really does not make sense to have a native Android app all in Java, and then write the entire iOS app in C#. Either stick to completely native apps for both platforms, or use a wrapper like Xamarin for both.
Xamarin.iOS for Visual Studio makes it possible to develop iOS
applications on Windows, but you will still need a Mac in order to
compile and run the code.
Today, Xamarin.iOS integration in Visual Studio is focused on enabling
developers to develop in C#. Xamarin developers who write Xamarin.iOS
applications on Windows typically hand-code their user interfaces—or
they will need to switch to the Mac to use Xcode (or a beta version of
Xamarin’s new iOS Designer) to interactively design an iOS user
interface layout.
"or use a wrapper like Xamarin for both"
I have discovered the term wrapping is not correct for this product.
Unlike other products (Corona, Phonegap, Titanium, ...) that wrap up in a common, genericized library, Xamarin compiles at core level with no penalty. It is 100% native. All functionality in all it's supported platforms is 100% available and not watered down.
Wrappers can be faster to program in, in theory, but when you factor in the time you will spend looking for workarounds for the one piece of functionality that is available natively but not in your wrapper library. When you factor in the constant bugs because wrapping for 3 or more platforms is a constantly moving target and you can't count on it working from day to day.
When you factor all those things in, writing native in c# for all platforms is the better option.
I tried them all, and xamarin was my last choice as I was distracted chasing that perfect golden goose wrapper product.

Visual Studio 2010 or MonoDevelop

I'm very new to Mono for Android and am having issues getting started - specifically as a new user I tend to have to step through code to ensure that it is doing what I want. This is extremely slow using VS 2010 and the latest version of Mono for Android. Just wondering if MonoDevelop will improve matters and whether it is as easy to develop using MonoDevelop rather than VS 2010 which is my normal tool.
Thanks for any advice
As far as i know the slowness is not due to Visual Studio but to the Android Emulator itself.
Debugging Monodroid on a physical device is lots faster with either VS or MonoDevelop, but then you need to buy a license to be able to deploy to anything else than the emulator..
I would keep using Visual Studio as it's far more complete and stable than MonoDevelop.
if performances are really an issue you might need to consider purchasing a license for Monodroid and use a physical Android device.
From my experience Mono Develop is more lightweight, but also more buggy. For the moment I am using Visual Studio. It compiles resources right away whereas Mono Develop sometimes does not recognize when I've added a resource. But you are right about the debugger. It is painfully slow. Other than the debugger I have found developing in MonoDroid to be fairly productive.

Resources