首页 > 其他分享 >App 开发语言

App 开发语言

时间:2024-10-04 16:03:41浏览次数:6  
标签:原生 Java 语言 Kotlin App 混合 开发 Android

App 开发主要有两大技术路线, 分别是原生开发和混合开发.

原生开发指的是谷歌官方的技术.

混合开发会借助一些前端的技术, 比如 H5, Flutter, React Native.

混合开发会用到一些网页的技术.

混合开发的渲染性能没有原生开发的好.

混合开发可以跨平台, 比如 Flutter, React Native 等, 一套代码既可以在 Android 也可以在 iOS, 也可以在 Web 前端上运行.

大型应用或者是注重用于体验的应用要用原生开发.

有的时候会同时使用原生开发和混合开发, 比如一个应用的部分功能, 如频繁更新的功能, 用混合开发来做. 其他功能用原生开发, 就是将原生开发和混合开发进行整合.

Android 的官方编程语言包括 Java 和 Kotlin.

Java 和 Kotlin 是同一类语言, 都是 JVM 语言, 都是运行在 JVM 上面的.

Java 可以调用 Kotlin, Kotlin 也可以调用 Java.

Android 开发用到 C/C++ 的情形: 图形图像, 音视频处理这种需要大量运算的时候, 需要快速分配内存或释放内存的时候, 快速的 CPU 计算的时候, 这些场景 C/C++ 的效率比 Java 更高.

使用 C/C++ 的技术在 Android 里面叫做 NDK. 这是一个高级的技术, 初级或者中级的 Android 工程师是不需要掌握这门技术的.

XML: 全称为 Extensible Markup Language, 即可扩展标记语言, 严格地说, XML 并非编程语言, 只是一种标记语言. 它类似于 HTML, 利用各种标签表达页面元素, 以及各元素之间的层级关系及其排列组合. 每个 XML 标签都是独立的控件对象, 标签内部的属性以 "android:" 打头, 表示这是标准的安卓属性, 各属性分别代表控件的某种规格.

Android 中的布局用 xml 来写, xml 是命令式 UI, 但是软件工程领域正在由命令式 UI 转向声明式 UI, Android 也意识到了这一变化, 因此正在逐步用 compose 代替 xml.

标签:原生,Java,语言,Kotlin,App,混合,开发,Android
From: https://www.cnblogs.com/Chengkai730/p/18446685

相关文章

  • ESP8266 开发板网络时钟和天气 OLED 显示
    ESP8266开发板网络时钟和天气OLED显示开发板详见:物联网开发板-ESP8266-立创开源硬件平台(oshwhub.com)网络时钟OELD显示代码#include<Arduino.h>#include<U8g2lib.h>#include<time.h>#include<SPI.h>#include<Wire.h>#include<NTPClient.h>//changene......
  • 基于django+vue+Vue的高校教师多维考核评价系统设计开发与实现【开题报告+程序+论文】
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高等教育的快速发展,高校教师的工作内容与职责日益复杂多样,传统的单一维度评价体系已难以满足当前对高校教师全面、公正评价的需求。近......
  • 打开开发者模式
    进入设置:从这里进去:在这里连续点7,8下:然后从system进去:在Advanced这里:就有了开发者选项:模拟器安装时,开发者选项默认是开启的,可以手动关闭,需要的时候再像这里演示的那样去开启.进入这个开发者选项:这里的USBdebugging要打开.......
  • 扩散引导语言建模(DGLM):一种可控且高效的AI对齐方法
    随着大型语言模型(LLMs)的迅速普及,如何有效地引导它们生成安全、适合特定应用和目标受众的内容成为一个关键挑战。例如,我们可能希望语言模型在与幼儿园孩子互动时使用不同的语言,或在撰写喜剧小品、提供法律支持或总结新闻文章时采用不同的风格。目前,最成功的LLM范式是训练一......
  • C语言中对象式宏
     001、不使用对象式宏[root@localhosttest]#lstest.c[root@localhosttest]#cattest.c##测试程序#include<stdio.h>intmain(void){inti,sum=0;intv[5]={3,8,2,4,6};##定义int【5】型数组......
  • R语言中gene symbol 转换为ENTREZID, clusterprofile富集分析
    001、genes<-read.table("genes.txt")##读取基因symbolhead(genes)tail(genes)genes<-genes[genes!="NA_NA"&genes!="unknow",,drop=FALSE]##去除无效信息(可选)genes_list<-unique(ge......
  • Nuxt.js 应用中的 app:beforeMount 钩子详解
    title:Nuxt.js应用中的app:beforeMount钩子详解date:2024/10/4updated:2024/10/4author:cmdragonexcerpt:app:beforeMount是一个强大的钩子,允许开发者在用户界面挂载前控制应用的初始化过程。通过有效利用这一钩子,我们可以优化应用的用户体验,保持状态一致性并高效......
  • 基于Python的自然语言处理系列(22):模型剪枝(Pruning)
            在深度学习领域,尤其是当模型部署到资源有限的环境中时,模型压缩技术变得尤为重要。剪枝(Pruning)是一种常见的模型压缩方法,通过减少模型中不重要的参数,可以在不显著降低模型性能的情况下提升效率。在本文中,我们将详细介绍如何在PyTorch中使用剪枝技术,并通过一些实......
  • 自然语言处理之话题建模:Neural Topic Models:神经主题模型的未来趋势与研究方向_
    自然语言处理之话题建模:NeuralTopicModels:神经主题模型的未来趋势与研究方向引言话题建模的定义与重要性话题建模是一种统计建模技术,用于发现文档集合或语料库中隐藏的主题结构。在自然语言处理(NLP)领域,话题建模被广泛应用于文本挖掘、信息检索、文本分类和推荐系统等......
  • 盘点五大热门JavaScript图表库,助你高效开发!
    1、Chart.jsChart.js是一个简单、灵活的图表库,支持8种图表类型(如折线图、柱状图、饼图等)。它使用HTML5Canvas元素来渲染图表,并且有良好的文档和社区支持。使用方法:npminstallchart.jsvue-chartjs然后在你的Vue组件中使用:<template><div><line-chart:data......