I would like to develop an Android application using VB.Net language under VisualStudio, for this task I heard about Xamarin framework for VisualStudio, but it only seems to install Android projects for C# language.
My needs as the needs of many other programmers are very simple, just as I said I would like to start developing an Android application using VB.Net language under VisualStudio, I hope is there an existing Xamarin workaround or another alternative to accomplish this task, because it is a global demand/requisite.
What can I do?, I'm not planning a transition to C# or moving to another IDE than VisualStudio.
I think recently they added portable libraries for using VB.Net, you can have more information on the Xamarin Developer Guides (http://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/portable_visual_basic_net/)
Related
I am now starting to learn android development.
I made a small app in visual studio using xamarin (C#) and I wanted copy it to android studio so I can also learn a new language and a new IDE.
I currently have a solution (App.sln) under that I have the main project (App.csproj) and also a class library project to hold my classes (App.Model.csproj)
In android studio, do I create a new module and call it com.app.model or do I just create a new package in the main module?
If you are currently using Xamarin Native approach, the porting from C# to Android Java should be quite straight forward because most of the API is still the same name. The difference mostly is just TitleCase in C# but camelCase in Java. Also, you will need to rename Android layout file from *.axml to *.xml.
If you are using Xamarin.Forms approach, then you will not able to port to Java easily because the API is totally different compare to native Android now. Xamarin.Forms is having its own API set that mapped back to individual native platform's API.
Checking out native Android tutorial will help you to understand better. However, why you want to go back to native when you already know about Xamarin. I came from Android native background and I didn't look back into native since I started with Xamarin.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I am currently reading up on Xamarin and have stumbled upon a topic that confuses me. My intent is, to develop an iOS app as the target of my project. However, due to other circumstances, I can only test on an Android Phone right now and first in the last part of the development on an iPhone. Therefore, the app would have to be initially developed and tested for Android and then later on - through Xamarin - deployed as an iOS app.
In Visual Studio with Xamarin installed, there is a choice of using native app development such as Xamarin.iOS, Xamarin.Droid and Xamarin Windows app. As far as I was told by some more experienced programmers, it does not matter which of those three apps/platforms one would choose for the initial development as it is always possible - again through Xamarin - to deploy to whatever platform is required in the end.
Now there is also a fourth app solution in the project menu, called "cross-platform" and this confuses me. As I understand, this is a general app choice virtually fulfilling the same purpose as the native apps, mentioned in the previous paragraph - deployment to whatever platform is desired at the end of the project.
Unless I have misunderstood something here, what exactly would be the difference or idea of having a so called "cross-platform app" as a fourth choice if it can basically do the same as the native apps?
In Xamarin there is two approaches:
Traditional Approach where you share application business logic and you write UI specifically for each platform using Xamarin.Android or Xamarion.iOS APIs to target ~70% of code share.
Xamarin.Forms which is a library on top of the specific APIs (Xamarin.Android and Xamarin.iOS) to help share UI as well to target ~90% of code share.
With Xamarin you generate a native app and keep in made the quote:
Everything you can do in native with Java, Objective-c or swift you
should be able to do with Xamarin.
Xamarin does not magically make an app, you write for Android, run on iOS. At least not without creating an iOS app and all the UI etc. that goes along for that.
With Xamarin you create native applications, just written in C# instead of Java or Objective-C or Swift.
So why choose Xamarin? It enables you to share a lot of code. Depending on how you structure your code, there are some apps that achieve more than 90% shared code or more. However, that differs a lot from app to app, and differs whether you are using Xamarin.Forms or not.
You might be referring to Xamarin.Forms in your question and the project types that come with it. Xamarin.Forms is UI framework that runs on top of Xamarin.Android, Xamarin.iOS and UWP. However, note this is only a UI framework and it can potentially meet all of your needs.
However, Xamarin.Forms does not magically make a Android application run on iOS. The UI you write using Xamarin.Forms, has a huge potential to run and look fine on iOS too. However, it still runs in an iOS project and not the Android project. This would be the case for any other platform you are going to target.
Xamarin.Forms is an abstraction on top of those individual platforms to help you write your UI once and potentially run everywhere, among other features such as navigation and a service locator.
The project types you are referring to in the Cross-Platform section in Visual Studio, is just different ways of creating Xamarin.Forms apps. This can be in a Portable Class Library (PCL), which creates an assembly targeting the common subset of .NET capabilities of the chosen targets. Along the PCL there will be a application project for each supported platform.
The other type is creating a Xamarin.Forms App using a Shared Project type, which is different from a PCL. How? A Shared Project should be though off as a glorified file linking project. Eh what? Look at it as the files in the Shared Project are copied and compiled in the Application project itself when you build the project. So you can write platform specific code in that Shared Project. It does, however, not generate an assembly you can share with your friends just like the PCL does.
That was a lot of Xamarin.Forms talk. However, Xamarin.Forms is not the only way you can create a Xamarin app. Xamarin provides 1:1 exposure of the native API. Meaning, just like on iOS you create storyboards, ViewControllers, utilizing UIKit for Views etc. You can do exactly the same in a Xamarin.iOS project. The same goes for Xamarin.Android, where you will be able to create Widgets, Activities etc, simply in a Xamarin.Android project. Both of these yield a native App. However, in this case the UI is not abstracted, and gives you much more power to customize your App, without having to work against Xamarin.Forms.
Which one should you pick? That is up to you to figure out. Both approaches, yield fully native Apps with native UI. It just depends on whether you want more or less abstraction.
My question is, can I use Xamarin to write business logic and compile it as a JAR library and use it in Android Studio ?
Thanks in advance.
You can not do that Xamarin platform just work by c#
form Xamarin Site:
If you are a Java developer, you are well on your way to leveraging
your skills and existing code on the Xamarin platform while reaping
the code reuse benefits of C#. You will find that C# syntax is very
similar to Java syntax, and that both languages provide very similar
features. In addition, you'll discover features unique to C# that will
make your development life easier.
https://developer.xamarin.com/guides/android/advanced_topics/xamarin-for-java/
I am familiar with visual studio web developer and know how to create web applications using asp.net , c#.
I also have some knowledge of java but I am more familiar with c#.
Can I develop android apps in visual studio using c# ?
What can be the best tool which will help an android begginer like me with the above skillset. Kindly point out helpful tutorials supporting your suggestions.
Thanks in advance.
Since there are little people using C# to develop Android application, once you got a problem in programming, there may be no solution because no one have ever encounter this problem.
The bug of Android platform will be extended by C# because both Java and C# invoke the native API of Android. What's more, using C# will lead to more bugs due to the language itself.
Java is very similar to C#, it won't cost more than one month for a C# programmer to learn Java and become a skillful Java programmer, and using java to develop Android application is more convince than C#.So, Why not try Java?
YES YOU CAN!
There is a cross platform tool called Xamarin that lets you to build mobile apps with C# and you can deploy at both platforms just by writing one program although these are a few reasons native is better:
The community is much bigger.
Apps that are made with Cross Platform tools don't look that great and it works slower.
The experience is not that pleasant.
Although if you are fine with those reasons go for it!!!
Been reading about C#/Visual Studio and beginning programming. Some of the features, like built in library of methods (.Net) and comment template creation for user created methods (///) seems fantastic. I know of Xcode and Eclipe but is there anything available on Mac like this for creating a variety of apps, i.e. web and windowed?
Thanks
There is Mono Develop which is an IDE for Win/Linux/Mac that primarily lets developers create desktop (C#, VB.NET, C/C++, Vala) or ASP.NET applications.
I personally, however, haven't had much luck getting some of my C# desktop applications to run on linux (Mono 2.10.6) because certain namespaces/classes aren't fully implemented (the ones that come to mind are some System.Net classes related to NetworkInterfaces, and understandably, deployment is not ported to linux).
You can use Mono and MonoDevelop
Mono is a open source implementation of C# and CLR. You can see here how complete is implementation, and quote from that link is:
"The easiest way to describe what Mono currently supports is: Everything in .NET 4.0 except WPF, EntityFramework and WF, limited WCF."