VS会不会成为移动开发首选?C#会不会成为移动开发最便捷的语言?_vs配合什么语言 便捷-程序员宅基地

技术标签: C#移动开发  移动开发  APP开发.net  VS移动开发  

很难说,因为Java、object-C在原生开发界已大行其道这么多年,C#这么多年固步自封,很难说在移动开发领域能重新有所建树。

 

目前国内有一个基于VB/C#的APP开发平台,叫Smobiler,它主打的就是.Net移动开发,使用 C#或http://VB.NET语言,可视化开发(集成在VS中),就像开发Windows程序一样,支持跨平台开发,可同时生成iOS、Android两种安装包,可以自定义APP的图标、名称、开机页等等。

在界面个性化方面,官方提供各种接口,给开发者自定义控件。例如,日历控件,如果开发者不喜欢官方提供的款式,开发者可以自定义开发一个。至于分享、IM、支付等功能,平台也有完善的支持。

 

该产品的大致原理是

界面和逻辑开发:IDE(Visual Studio)

数据传输:生成自定义的协议传输到客户端,客户端显示界面,并处理界面数据(输入,滑动之类),然后返回到服务端的界面的窗体或控件对应的事件中(比如在界面上点击Button,会触发服务端的Button Press事件)

 

感受:速度挺好的,因为是原生的应用,开发效率比较高,上手比较快,适合于企业移动开发。因为更新界面和逻辑不需要重新发布客户端。这点对应企业里每天都要改改需求的话,真的很方便。

与Xamarin的对比:个人感觉比Xamarin简单太多了,另外也有丰富的接口(指纹,条码扫描,声音,视频)。

 

动图感受一下:

 

目前已有开发者使用Smobiler为企业客户进行商业化开发。

 

所以,从Smobiler这款产品中可以看到,在VS中进行移动开发是完全可行。那么.NET技术人员希望进行移动开发时,这款产品能给这部分人提供一个不错的途径。

这也是国内的开发者尝试VS进行移动开发的第一步,未来的趋势还要看开发者们的选择和意向,以及.NET的发展了。

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lsying112/article/details/80137945

智能推荐

随机数的小案例:获取任意范围内的随机数_storm统计某个范围内的随机数个数-程序员宅基地

文章浏览阅读316次。随机数的小案例:获取任意范围内的随机数public class Demo1 { public static void main(String[] args) { // 1.键盘录入数据 Scanner sc = new Scanner(System.in); System.out.println("请输入开始数:"); int start = sc.nextInt(); _storm统计某个范围内的随机数个数

NeHe OpenGL教程 第八课 混合_nehe framebufferobject-程序员宅基地

文章浏览阅读1.1k次。完全的透明(simple transparency)在OpenGL中很多特定的效果依赖于一些类型的混合。混合用来把将要绘制到屏幕上的像素的颜色和已经绘制到屏幕上的像素的颜色结合起来。颜色如何混合依赖于颜色的alpha值 和/或使用的混合函数。alpha通常是指定的颜色组成的第_nehe framebufferobject

ubuntu 18.04安装rviz_rviz下载ubuntu-程序员宅基地

文章浏览阅读4.7k次。修改source list,首先备份源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup打开sources.list文件修改sudo vim /etc/apt/sources.list用下面阿里原替换掉文件中所有的内容,保存编辑好的文件deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://._rviz下载ubuntu

Linux 系统管理 : sudo 命令详解_linux里的sudo-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏3次。sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。语法sudo(选项)(参数)选项-b:在后台执行指令;-h:显示帮助;-H:将HOME环境变量设为新身份的HOME环境变量;..._linux里的sudo

php7.4.1 configure: error: Package requirements (libxml-2.0 >= 2.7.6) were not met:-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏4次。今天编译了一下php7.4 因为我的libxml 是自己编译按照以前的版本方式 安装时指定--with-libxml-dir=/opt/libxml2 一下编译的libxml 目录还是不可以https://bugs.php.net/bug.php?id=79135&thanks=2 去php官方提了编译失败的问题,感谢大佬回答大佬说 php 7.4 是依赖于p..._configure: error: package requirements (libxml-2.0 >= 2.7.6) were not met:

Linux 文件管理 : find 命令详解_find 创建近1分钟的文件-程序员宅基地

文章浏览阅读1.2k次。find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。语法find(选项)(参数)选项-amin<分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;-anewer<参考文件或目录>:查找其存取时间较指定文件或..._find 创建近1分钟的文件

随便推点

严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start componen_containerbase.addchild: start: org.apache.catalina-程序员宅基地

文章浏览阅读6.2k次。严重: ContainerBase.addChild: start:org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@ea1a8d5]at org.apache.catalina.util.LifecycleBase.h..._containerbase.addchild: start: org.apache.catalina.lifecycleexception: faile

vue中使用Sortable.js实现拖拽功能_sortablejs怎么实现从一个盒子拖动到另一个盒子-程序员宅基地

文章浏览阅读1.4k次。安装Sortable.jsnpm install sortablejs --save<template> <div id="box"> <!-- ref就是为了获取el对象 --> <div ref="item1" class="box"> <div>item 1</div> <div>item 2</div> <div>item 3._sortablejs怎么实现从一个盒子拖动到另一个盒子

dwz框架如何将弹出的子窗口传值回父窗口_dwz的dialog窗口传值到父页面-程序员宅基地

文章浏览阅读3k次。可以在主页面里放上个隐藏域,然后将值放进去,这样不管哪个页面就都能取得到了_dwz的dialog窗口传值到父页面

Linux 系统设置 : modprobe 命令详解-程序员宅基地

文章浏览阅读8.8k次。modprobe命令用于智能地向内核中加载模块或者从内核中移除模块。modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。语法modprobe(选项)(参数)选项-a或--all:载入全部的模块;-c或--show-conf:显示所有..._modprobe 命令详解

解决QGraphicsView中橡皮筋风格_ce_rubberband-程序员宅基地

文章浏览阅读486次,点赞2次,收藏2次。#ifndef RUBBERBANDSTYLE_H#define RUBBERBANDSTYLE_H#include <QBrush>#include <QPainter>#include <QPen>#include <QProxyStyle>#include <QRect>#include <QStyleOptionRubberBand>class RubberbandStyle : public QProxy._ce_rubberband

selenium之find_element_by_xpath定位元素-程序员宅基地

文章浏览阅读4.2k次,点赞3次,收藏22次。一 方法selenium为定位元素提供了较多方法,大致分为单元素定位和多元素定位.# 查找单个元素:find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind_element_by_tag_..._find_elements(by.xpath

推荐文章

热门文章

相关标签