目录

一 概述

二 原理

移动端控件

移动端API

三 写在最后

一. 概述

Smobiler实现了.net服务端开发,ios和android客户端直接运行显示,无需学习Objective-C或Java,一次开发搞定iOS和Android两大平台.

框架底层的通讯使用的是C++的,保证了通讯的安全性,并实现和动态部署的功能,在app快速迭代的时代,通过Smobiler开发的App,只需要修改服务端,即可实现客户端的实时更新,不需要重新打包发版.

二. 原理

接下来,将从原理上谈谈Smobiler如何实现此功能的.

并分别针对iOS和Android讲解.

控件

Designer上提供了很多基础控件,像Panel,Button,Image,Lable,TextBox,这些基础UI组件和原生应用完全一致,实际上,在客户端,这些控件就是原生控件开发而成的,通过服务端控制其属性,传递给客户端配置.

API

Smobiler客户端使用原生开发方式,集成了手机硬件的大部分功能,服务端只需要通过简单的API调用即可实现对手机硬件功能的使用.而第三方插件的方式,也给有能力的用户开发自己需要的原生功能带来了可能.

移动端控件

在做iOS和Android的跨平台功能中,控件都是原生的,通过加密的自有协议Render,创建丰富的原生UI库,让Smobiler用户感受和原生应用一致的用户体验.

在服务端开发过程中,可以看到大量的基础控件和组合控件,Smobiler已经为其在移动端封装完成.

iOS

每一个原生的UI组件,通过统一管理和创建,实现了从视图,属性,方法三方面给与js访问的功能,从而实现了对控件的统一管理.

Android

和iOS类似,Android通过统一的类,将UI组件进行统一的管理和创建,将接口传递给js.

从而实现了iOS和Android控件的整合,并将iOS和Android不同类型的属性进行删选和结合,使在两大平台能呈现更加一致的显示,并把一些独有的特性保持,在各自平台支持.

移动端API

原生应用最具优势的一点就是能够全面的调用系统硬件和软件的功能,像拍照,打电话,发短信等功能,在Smobiler API中,这些功能都能一一实现.

如果用户需要实现某些高性能的、多线程的代码,譬如图片处理、数据库、或者各种高级扩展等等,也能通过第三方插件的方式,实现自己的需求.具体可查看Smobiler第三方插件

iOS

针对iOS,众所周知,其开发是用Objective-C和Swift,Smobiler通过定义好接口通讯方法,实现该协议的类,会自动注册到Object-C对应的Bridge中。Object-C Bridge上层负责与Object-C通信,下层负责和JavaScript Bridge通信,而JavaScript Bridge负责和JavaScript通信.

这样,通过Object-C Bridge和JavaScript Bridge就可以实现JavaScript和Object-C的相互调用。

Android

针对Android,其通过Java代码实现功能,Smobiler通过定义好的通讯类,实现了对Java原生功能和js通讯,原生代码执行完结果回调回js,然后把数据返回给服务端,其消息的传递使用的是C++通讯,保证了通讯的安全性.

三. 写在最后

Smobiler使用C#、VB.NET语言进行开发,引入容器控件,界面设计更加便捷,绝对和相对布局方式跨平台开发,自适应Android和IOS各式机型,云平台为用户制定了个性化的图标和信息,可直接生成安装文件.

通过对Smobiler客户端原理的了解,可以发现,针对iOS和Android的新功能,Smobiler都能快速整合到平台中,通过服务端简单的调用,就能直接使用,即Smobiler是一个可成长型的平台.

更多开发攻略可访问:https://www.smobiler.com/index.html

java跨平台 ios_Smobiler如何实现.net一键开发,ios和android跨平台运行相关推荐

  1. iOS和Android跨平台移动应用开发解决方案

    Corona SDK(使用Lua语言) Corona SDK的优点: 稳定:支持硬件加速.GPS.指南针及照相机等:支持与Map.Facebook.OpenFient.GameCenter的集成:内 ...

  2. c 跨平台android,Unity 使用C/C++ 跨平台终极解决方式(PC,iOS,Android,以及支持C/C++的平台)...

    PC的事实上根本不用说,毕竟C#和C++交互的文章已经够多了,当然我自觉得经过几次折腾后.差点儿全部游戏须要到的操作我都掌握了(各种传參方法,各种坑,不懂的能够留言问.尽管基本上没人看.哈哈) 废话不 ...

  3. 先进技术android,React Native实战(JavaScript开发iOS和Android应用)/计算机科学先进技术译丛...

    导语 内容提要 本书作者Nader Dabit是AWS Mobile开发人员.React Native Training创始人和React Native Radio播客主持人.本书旨在帮助iOS.An ...

  4. TUP第30期:微软资深专家论如何用Visual Studio开发iOS、Android应用

    转 http://www.csdn.net/article/2013-11-08/2817440-TUP30-Visual-Studio-Xamarin 摘要:TUP第30期活动于11月7日成功举办. ...

  5. Web技术是开发iOS和Android App

    如果说以前的微信公众号还是一个媒体化的平台,那么2016年的公众号会有一种新的形态,叫应用号.应用号预示着比公众号更强大的功能.更优质的体验以及更丰富的服务.应用号的出现是微信产品的一次重大升级,无论 ...

  6. 百度鹰眼android开发,百度鹰眼Android SDK 运行配置

    下载百度鹰眼轨迹Android SDK V2.1.10示例代码 ,也可能是其他版本; 代码导入Eclispse 或者Android studio,还不能运行,需要配置 开发者申请的移动端AK:api_ ...

  7. Hbuilder 开发IOS 和 Android申请微信支付?那些懵逼的事?

    首先在 manifest.json里SDK配置选项里先勾选上 微信支付 或者支付宝支付 然后https://open.weixin.qq.com/ 进入微信开发者平台,注册登录,成为开发者 选择移动应 ...

  8. iOS和Android开发异同点(一)

    说到移动开发,目前主流平台有谷歌的android os 系统,苹果iOS系统,和微软主打的windows Phone OS 系统,至于目前为啥移动开发中,安卓和iOS比较受欢迎,者要看三家产品的历史由 ...

  9. Java Web 后台中餐饮业报表系统开发实例

    本期葡萄城公开课,我们诚邀石家庄品智技术有限公司,高级软件工程师--刘永政先生,为大家在线分享餐饮业报表系统设计模式,以及在 HTML5 报表浏览器.Java 架构中跨平台使用ActiveReport ...

最新文章

  1. 信息系统项目管理师论文指导3/3
  2. Boost:使用std :: test进行boost:array的测试
  3. jstl 处理Date 时间
  4. 如何用 Blazor 实现 Ant Design 组件库?
  5. python gevent模块 下载_【python安全攻防】包、模块、类、对象
  6. php公司面试反问,php面试坑集锦
  7. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节6:设备的分配和回收
  8. postgresql 删除触发器_postgresql 触发器
  9. nginx 安装_安装Nginx的几种方式
  10. 为vc工程添加Unicode Debug和Unicode Release
  11. 为Python安装Redis库
  12. Tools - UML绘图工具
  13. 3Ds MAX 软件介绍
  14. 产品生命周期管理(PLM)
  15. 蜂窝移动网络是什么?它和Wi-Fi有什么区别?
  16. python输出斐波那契数列_Python实现斐波那契数列
  17. 无线接入网 服务器 选型,家庭网络系统搭建经验分享 篇三:无线覆盖与AP选择...
  18. 【R语言文本挖掘】:情感分析与词云图绘制
  19. 蓝牙追踪_如何使用蓝牙追踪器跟踪您的东西
  20. (6.1)MATLAB机器人正、逆解中姿态求解的欧拉角的说明

热门文章

  1. 北京奥运会火炬接力境内外传递路线详细时间表
  2. 通过注册表获取电脑硬件信息
  3. Storyboard 自适应布局
  4. stc15f104w模拟串口使用
  5. JavaFX for macos / macbook m1
  6. QQ管家、360安全卫士已经收录BBdoc文档搜索软件,软件越来越好用!
  7. 前端三大框架,你更喜欢哪个?
  8. 全方位深度介绍化工厂人员定位
  9. Android系统WIFI显示已保存但不会自动重连
  10. 孕妇有什么副业做?孕妇在家有哪些兼职可以做?