使用.NET / C#构建Android应用程序vs使用HTML / JavaScript

时间:2016-01-15 19:22:58

标签: javascript c# android xamarin cross-platform

我需要为Android构建一个应用程序,因为我是一个C#monkey(并且可能太老了,无法有效地学习Java),我更喜欢在.NET中这样做。当我进行研究时,我发现MSDN也提供了使用HTML / JavaScript(也在我的技能组合中)的建议。

我无法在这两种方法之间做出决定并需要输入。我只有资源选择一种方法,我担心如果我选错了,我会陷入一些实际问题。

  1. 我是否需要让用户在使用我的应用程序之前下载额外的东西(比如Xamarin runt-time或其他东西)?
  2. 如何分发应用程序,以便能够以与其他应用程序相同的方式获取应用程序(Google Store)?
  3. 除了它不是原生的,我能否创建相同类型的控件,FAB(或其他所谓的)菜单等。
  4. 我还没有找到关于这个主题的更多信息(除了Xamarin和一堆框架基本上将一个网页封装在一个" app" holder中)。我错了,假设我可以获得与本地人相同的L& F但是在VS下开发?

1 个答案:

答案 0 :(得分:1)

这个答案适用于Xamarin。我将它用于我们的Android应用程序。

  1. 都能跟得上!所需的一切都捆绑在应用程序中。这确实会增加应用程序的大小。
  2. 您编译为APK - 完成签名。您可以将其部署到Google Play,侧载等
  3. 您仍然可以像使用Java for Android一样设计UI。事实上,当我第一次开始使用Xamarin.Android时,我使用相同的Android教程进行了一些小的调整。
  4. 关于#3的快速说明:我从未使用过Xamarin.Forms。在我在工作中移植我们的业务线Android应用程序之后,它已被添加到生态系统中。我做所有的UI东西"原生。"

    编辑:

    关于您对我的" XML方法的澄清请求"评论。请注意,我的一些术语有些不准确。

    Android表单分为两部分:布局资源和活动类。处理" native"时的布局资源。开发,使用XML标记。这是来自Android网站的Hello World布局:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       xmlns:tools="http://schemas.android.com/tools"
       android:layout_width="match_parent"
       android:layout_height="match_parent" >
    
      <TextView
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerHorizontal="true"
          android:layout_centerVertical="true"
          android:padding="@dimen/padding_medium"
          android:text="@string/hello_world"
          tools:context=".MainActivity" />      
    </RelativeLayout>
    

    在活动类中,您将使用此行指定布局(&#34; activity_main&#34;作为布局的名称):

    爪哇:

    setContentView(R.layout.activity_main);
    

    Xamarin.Android:

    SetContentView(Resource.Layout.activity_main);
    

    使用Xamarin.Android,您可以通过XML使用相同的布局方法,或者您可以尝试Xamarin.Forms。不过,我不确定你是否可以将它们混合起来,正如我所说:我从未使用过Xamarin.Forms。