Android移动开发的几种方式-程序员宅基地

技术标签: Android开发  React Native  Android App开发方式  RN开发  

目录

1.Android App开发方式

1.1 Native App (原生开发)

1.2 Web App

1.3 Hybrid App (混合开发)

1.4 JavaScript解析为Native

1.4.1 React Native(RN开发)

1.4.2 Weex

1.4.3 原理

1.5 CrossApp(C++开发)

1.5.1 Qt App

1.5.2 CrossApp

1.6 Google App Inventor

1.7 Xamarin(C#开发)


1.Android App开发方式

1.1 Native App (原生开发)

使用Java、C、C++进行开发App称之为Native App;

1.2 Web App

Web App就是使用前端技术(Html+CSS+JSS)开发的Web网站,然后转换工具转化成App,其实就是使用Android的浏览器(Webkit)访问Web网站;

优点:
开发成本低,周期短,兼容多平台,而且更新迭代只需修改服务器端,维护方便,如果只是作个人博客、宣传使用可以;

缺点:

用户体验性差,消息推送不及时,调用本地文件系统难,不能调用手机硬件;

有名的框架:

jQuery Mobile:是一个基于Html5的前端开发框架,主要创建移动Web应用应用于手机和智能电脑;

Bootstrap:是Twitter推出的一个使用Html+JS+CSS的前端开发工具包;

MUI:MUI是一套前端框架,由DCLOUD公司研发而成,MUI不依赖任何第三方JS库,MUI以iOS平台UI为基础,补充部分Android平台
             特有的UI控件;

1.3 Hybrid App (混合开发)

HyBrid App是介于webapp和NativeApp之间,使用Native开发,并且使用WebView访问网站,兼容了NativeApp和WebApp的优点;

主要使用Android WebView的相关可以参考:WebView详解

ebView,PhoneGap、Apache Cordova

 1.PhoneGap是一个采用HTML,CSS和JavaScript的技术,创建移动跨平台移动应用程序的快速开发平台。

 2.salama:Salama ybrid SDK提供了一个JavaScript库,一个Native库;

1.4 JavaScript解析为Native

1.4.1 React Native(RN开发)

React是Facebook开源的一个JavaScript库;

React Native(简称RN)是Facebook开源的跨平台移动移动应用开发框架,是在React框架在移动开发的衍生物,目前支持iOS和Android;

1.4.2 Weex

Weex是阿里巴巴开源的一个基于Vue(JS框架)语法的移动应用开发框架,使用同一套代码可以在Android、iOS和web平台使用;

官网:http://weex.apache.org/cn/guide/

1.4.3 原理

都是通过中间工具把js文件执行过程过程中的各种命令发送到Native端进行执行;

React Native是使用React native bridge把通过React框架编写的编码发送到Native端进行执行;

Weex是使用JS bundle把通过Vue框架编写的编码发送到Native端进行执行;

Weex 表面上是一个客户端技术,但实际上它串联起了从本地开发、云端部署到分发的整个链路。开发者首先可在本地像编写 web 页面一样编写一个 app 的界面,然后通过命令行工具将之编译成一段 JavaScript 代码,生成一个 Weex 的 JS bundle;同时,开发者可以将生成的 JS bundle 部署至云端,然后通过网络请求或预下发的方式加载至用户的移动应用客户端;在移动应用客户端里,Weex SDK 会准备好一个 JavaScript 执行环境,并且在用户打开一个 Weex 页面时在这个执行环境中执行相应的 JS bundle,并将执行过程中产生的各种命令发送到 native 端进行界面渲染、数据存储、网络通信、调用设备功能及用户交互响应等功能;同时,如果用户希望使用浏览器访问这个界面,那么他可以在浏览器里打开一个相同的 web 页面,这个页面和移动应用使用相同的页面源代码,但被编译成适合Web展示的JS Bundle,通过浏览器里的 JavaScript 引擎及 Weex SDK 运行起来的。

How it works

 

1.5 CrossApp(C++开发)

1.5.1 Qt App

Qt:是一个跨平台C++图形用户界面应用程序开发框架;

Qt App是Qt提供了 Qt for Mobile App Develop来使用C++开发手机App,所以跨平台在Windows、Android、iOS部署应用程序;

1.5.2 CrossApp

CrossApp是9秒社团的一款完全免费、开源、跨平台的移动应哟开发引擎,基于MIT开源协议,基于OpenGL ES 2.0,采用MVC框架模式;

官方网站:http://crossapp.9miao.com/

1.6 Google App Inventor

Google App Inventor是Google推出一个直观的可视化编程环境,允许每个人 - 甚至是儿童 - 为智能手机和平板电脑构建功能齐全的应用程序。适合通过编码激发智力和创造力;

官方网站:http://appinventor.mit.edu/explore/

开发工具:http://ai2.appinventor.mit.edu/

1.7 Xamarin(C#开发)

Xamarin.Forms 是一个用C#语言开发跨平台应用的集成开发环境,允许开发人员有效创建可跨 iOS、Android、通用 Windows 平台应用共享的本机用户界面布局。

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

智能推荐

前端开发之vue-grid-layout的使用和实例-程序员宅基地

文章浏览阅读1.1w次,点赞7次,收藏34次。vue-grid-layout的使用、实例、遇到的问题和解决方案_vue-grid-layout

Power Apps-上传附件控件_powerapps点击按钮上传附件-程序员宅基地

文章浏览阅读218次。然后连接一个数据源,就会在下面自动产生一个添加附件的组件。把这个控件复制粘贴到页面里,就可以单独使用来上传了。插入一个“编辑”窗体。_powerapps点击按钮上传附件

C++ 面向对象(Object-Oriented)的特征 & 构造函数& 析构函数_"object(cnofd[\"ofdrender\"])十条"-程序员宅基地

文章浏览阅读264次。(1) Abstraction (抽象)(2) Polymorphism (多态)(3) Inheritance (继承)(4) Encapsulation (封装)_"object(cnofd[\"ofdrender\"])十条"

修改node_modules源码,并保存,使用patch-package打补丁,git提交代码后,所有人可以用到修改后的_修改 node_modules-程序员宅基地

文章浏览阅读133次。删除node_modules,重新npm install看是否成功。在 package.json 文件中的 scripts 中加入。修改你的第三方库的bug等。然后目录会多出一个目录文件。_修改 node_modules

【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure-程序员宅基地

文章浏览阅读883次。【代码】【】kali--password:su的 Authentication failure问题,&sudo passwd root输入密码时Sorry, try again._password: su: authentication failure

整理5个优秀的微信小程序开源项目_微信小程序开源模板-程序员宅基地

文章浏览阅读1w次,点赞13次,收藏97次。整理5个优秀的微信小程序开源项目。收集了微信小程序开发过程中会使用到的资料、问题以及第三方组件库。_微信小程序开源模板

随便推点

Centos7最简搭建NFS服务器_centos7 搭建nfs server-程序员宅基地

文章浏览阅读128次。Centos7最简搭建NFS服务器_centos7 搭建nfs server

Springboot整合Mybatis-Plus使用总结(mybatis 坑补充)_mybaitis-plus ruledataobjectattributemapper' and '-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。前言mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。..._mybaitis-plus ruledataobjectattributemapper' and 'com.picc.rule.management.d

EECE 1080C / Programming for ECESummer 2022 Laboratory 4: Global Functions Practice_eece1080c-程序员宅基地

文章浏览阅读325次。EECE 1080C / Programming for ECESummer 2022Laboratory 4: Global Functions PracticePlagiarism will not be tolerated:Topics covered:function creation and call statements (emphasis on global functions)Objective:To practice program development b_eece1080c

洛谷p4777 【模板】扩展中国剩余定理-程序员宅基地

文章浏览阅读53次。被同机房早就1年前就学过的东西我现在才学,wtcl。设要求的数为\(x\)。设当前处理到第\(k\)个同余式,设\(M = LCM ^ {k - 1} _ {i - 1}\) ,前\(k - 1\)个的通解就是\(x + i * M\)。那么其实第\(k\)个来说,其实就是求一个\(y\)使得\(x + y * M ≡ a_k(mod b_k)\)转化一下就是\(y * M ...

android 退出应用没有走ondestory方法,[Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?...-程序员宅基地

文章浏览阅读1.3k次。首先,问题是如何出现的?晚上复查代码,发现一个activity没有调用自己的ondestroy方法我表示非常的费解,于是我检查了下代码。发现再finish代码之后接了如下代码finish();System.exit(0);//这就是罪魁祸首为什么这样写会出现问题System.exit(0);////看一下函数的原型public static void exit (int code)//Added ..._android 手动杀死app,activity不执行ondestroy

SylixOS快问快答_select函数 导致堆栈溢出 sylixos-程序员宅基地

文章浏览阅读894次。Q: SylixOS 版权是什么形式, 是否分为<开发版税>和<运行时版税>.A: SylixOS 是开源并免费的操作系统, 支持 BSD/GPL 协议(GPL 版本暂未确定). 没有任何的运行时版税. 您可以用她来做任何 您喜欢做的项目. 也可以修改 SylixOS 的源代码, 不需要支付任何费用. 当然笔者希望您可以将使用 SylixOS 开发的项目 (不需要开源)或对 SylixOS 源码的修改及时告知笔者.需要指出: SylixOS 本身仅是笔者用来提升自己水平而开发的_select函数 导致堆栈溢出 sylixos

推荐文章

热门文章

相关标签