当前位置: 首页 > news >正文

oa办公系统官网页版/seosem是什么职位

oa办公系统官网页版,seosem是什么职位,输入网址一键生成app,网站网络优化外包个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 很久没有写这类high-level的文章了,本身这类框架就一直层出不穷,但是其中历久弥坚,坚韧不拔的框架又有多少呢? 首先考虑到学习成本以及掌握一些编程语言在工作、学习生态上的价值,给这些东西适用生态划分一下. Reac…

个人博客:Sekyoro的博客小屋
个人网站:Proanimer的个人网站
很久没有写这类high-level的文章了,本身这类框架就一直层出不穷,但是其中历久弥坚,坚韧不拔的框架又有多少呢?
首先考虑到学习成本以及掌握一些编程语言在工作、学习生态上的价值,给这些东西适用生态划分一下.

React Native

React Native 允许了解 React 的开发人员创建原生应用程序。同时,原生开发人员可以使用 React Native 编写一次通用功能,从而获得原生平台之间的平等性。

Get Started with React Native · React Native

使用前端技术开发移动端和web程序. 通常与Expo搭配,后者是一个生产级的 React Native 框架。Expo 提供开发人员工具,使应用程序的开发更加轻松,例如基于文件的路由、原生模块标准库等.

npx create-expo-app StickerSmash --template blank && cd StickerSmash
import { StyleSheet, Text, View } from 'react-native';export default function App() {return (<View style={styles.container}><Text>Hello world!</Text></View>);
}const styles = StyleSheet.create({container: {flex: 1,backgroundColor: '#fff',alignItems: 'center',justifyContent: 'center',},
});

使用一些库的话直接就是npm,跟前端开发类似.

缺点的话就是使用前端和android studio混合搭配优点乱吧,而且可能还有一些坑.

如果你不喜欢React,可以试试IonicIonic Framework - The Cross-Platform App Development Leader其实在这里我并不想推荐其他技术了.

更多前端技术,参看2023 JavaScript Rising Stars

优点:

  • 强大的生态和社区(毕竟背靠折腾的厉害的前端),文档非常友善
  • 专注用户界面,呈现原生平台的用户界面组件
  • fast refresh,使得开发时能立即看见改动
  • 有了debugger工具,提供log viewer, interactive layout inspector, 和network inspector.

Flutter

Install | Flutter

虽然前段时间听说flutter遭重,被google layoff了一些人.

广泛文档也不错,目前支持mobile, web甚至desktop(beta).

ListView(children: const <Widget>[ListTile(leading: Icon(Icons.map),title: Text('Map'),),ListTile(leading: Icon(Icons.photo_album),title: Text('Album'),),ListTile(leading: Icon(Icons.phone),title: Text('Phone'),),],
),

使用Dart语言的命令式UI,目前很多框架都使用这种方式了.其实也类似jsx,无非是利用编程语言层层嵌套替代原本的xml配置的方式.

Jetpack compose和Qt的qml也都类似这种了,分别替代了原本xml和widget.

利用Dart的pub.dev装一些库The official repository for Dart and Flutter packages. (pub.dev),众所周知,提到php,ruby就是web,那么提到dart就是flutter了,因此dart的很多库也是方便flutter开发的.

缺点就是Dart也有上手门槛,不过如果你熟悉类似Kotlin,

Swift这种语言,其实它向这些语言学习了很多.

优点:

  • Flutter 的热重载功能可让您在修改代码后立即查看应用程序的变化,而无需重新编译。
  • Flutter 支持谷歌的 Material Design,这是一种帮助开发人员构建数字体验的设计系统.在构建应用程序时,您可以使用多种视觉和行为小部件。
  • Flutter 不依赖浏览器技术.相反,它拥有自己的渲染引擎来绘制部件

Kotlin Multiplatform

如果你已经熟悉Jetpack Compose,那这个就是多平台下的开发框架,便于写ios,web等等. 我个人感觉它和Flutter就是这方面的leader了,如果你对desktop没有要求,那也可以使用React Native.

Compose Multiplatform UI 框架 | JetBrains | JetBrains: Developer Tools for Professionals and Teams

但说实话,目前还需要再等一等.毕竟它的时间还不像前两者那么久.

首先需要Kotlin Multiplatform Wizard | JetBrains下载需要的库,然后进行一堆配置,目前看来还是需要再等等,先熟悉熟悉Jetpack Compose更好.

当然,前提条件都是必须要会Kotlin的基本语法.

.NET MAUI

Flutter是谷歌的技术,React Native是Meta的技术,而MAUI就是微软的技术. 使用C#和XAML(类似xml)开发mobile和desktop程序.如果你还想要web,可以结合Blazor.

.NET Multi-platform App UI (.NET MAUI) | .NET (microsoft.com)

目前微软正在大推,而之前的桌面开发应用比如WPF等已经没有什么大更新了,但是还是有一些公司(可能不是那么互联网的公司)正在使用.

如果你没有那么强调跨平台,我觉得WPF完全够用了.

还是使用的是利用文件配置声明UI控件,然后代码写事务逻辑.

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"x:Class="Notes.AboutPage"><VerticalStackLayout Spacing="10" Margin="10"><HorizontalStackLayout Spacing="10"><Image Source="dotnet_bot.png"SemanticProperties.Description="The dot net bot waving hello!"HeightRequest="64" /><Label FontSize="22" FontAttributes="Bold" Text="Notes" VerticalOptions="End" /><Label FontSize="22" Text="v1.0" VerticalOptions="End" /></HorizontalStackLayout><Label Text="This app is written in XAML and C# with .NET MAUI." /><Button Text="Learn more..." Clicked="LearnMore_Clicked" /></VerticalStackLayout>
</ContentPage>
private async void LearnMore_Clicked(object sender, EventArgs e)
{// Navigate to the specified URL in the system browser.await Launcher.Default.OpenAsync("https://aka.ms/maui");
}private void OnCounterClicked(object sender, EventArgs e)
{count++;if (count == 1)CounterBtn.Text = $"Clicked {count} time";elseCounterBtn.Text = $"Clicked {count} times";SemanticScreenReader.Announce(CounterBtn.Text);
}

Solution Explorer pane with MainPage.xaml file highlighted.

C#语言本身我个人还是非常喜欢的,属于历久弥坚.使用.NET开发移动程序基本上要搭配visual studio了(或者也可以使用Jetbrains的Rider),可能一些操作不熟悉.

此外也有第三方的Avalonia欢迎 | Avalonia Docs (avaloniaui.net)和Uno,也是可以考虑的. 但目前可能仍然存在一些坑,生态上资源可能也没有那么丰富.

优点:

  • .NET MAUI 提供跨平台 API,用于访问本地设备功能,如 GPS、加速计、电池和网络状态。
  • 它有一个单一的项目系统,可使用多目标功能针对 Android、iOS、macOS 和 Windows 启用。
  • 由于支持 .NET hot reload,开发人员可以在应用程序运行时修改托管源代码

这可能不太互联网和开源,但我还是想说说:

Qt

Qt最新已经到了6.x版本,官方也推荐Quick application,另外还有design studio方便界面设计. 官方文旦也很不错.

[Qt Documentation | Home](https://doc.qt.io/qt-5/gettingstarted.html)

Qt Documentation | Modules

image-20240608144743992

随便新建一个项目,设置允许使用design studio打开的格式,这样下面文件会多一些东西.

image-20240608150703433

可以看到使用qml和cpp进行开发,qml里可以写UI也可以写一些简单逻辑,类似MAUI和WPF.

Qt目前支持桌面和android等【Qt】如何从零配置Qt Android安卓环境_qt 安卓环境搭建,但我也不推荐使用qt开发移动应用。

而是使用qml技术开发跨平台桌面应用(毕竟针对不同IDE设置一个android模拟器还是挺麻烦的).

否则跟下面一样

image-20240608155750208

#include <QGuiApplication>
#include <QQmlApplicationEngine>int main(int argc, char *argv[])
{QGuiApplication app(argc, argv);QQmlApplicationEngine engine;const QUrl url(u"qrc:/ada/Main.qml"_qs);QObject::connect(&engine,&QQmlApplicationEngine::objectCreationFailed,&app,[]() { QCoreApplication::exit(-1); },Qt::QueuedConnection);engine.load(url);return app.exec();
}
import QtQuick
import QtQuick.ControlsWindow {width: 640height: 480visible: truetitle: qsTr("Hello World")Rectangle {anchors.fill: parentcolor: "red"Column {spacing: 20Text {text: qsTr("Hello World")font.pixelSize: 254font.bold: true}Button {text: qsTr("Hi, press me!")onClicked: console.log("Button clicked!")}Button {text: qsTr("Hi, press me!")onClicked: console.log("Button clicked!")}}}
}

而且Qt不只是一个UI库,它包括cpp的各种封装与工具,qml也支持js执行.

不过开发上qt本身并不支持热重载,每次改完还要重新运行.

我不会说c++很难,但这是个事实,不过Qt已经方便你很多了.构建工具也从原本Qt自己的qmake变成了cmake优先.

另外Qt和visual studio也是我很喜欢的c++的IDE,最近jetbrains又发力搞了clion nova据说占用内存小了,也可以试试.

但可能由于各种原因,Qt的生态跟前面几者不太相同,这里引用一句.

以往QT需求比较强烈的领域主要集中于军工、安防、车联网、工业控制、电力等相对偏传统的行业领域,整体需求比较稳定。但是近年来由于…,采用…,实现…。这也就意味着,像QT这种GUI框架必然会越受青睐。

作者:飞援
链接:https://juejin.cn/post/7076273798311313439
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我并不是觉得Qt需要有多么受青睐,但是它的需求确实如上面所说,导致很多人拿来工作的并不多.

FYI

  1. The Six Most Popular Cross-Platform App Development Frameworks | Kotlin Multiplatform Development Documentation (jetbrains.com)

如有疑问,欢迎各位交流!

服务器配置
宝塔:宝塔服务器面板,一键全能部署及管理
云服务器:阿里云服务器
Vultr服务器
GPU服务器:Vast.ai

相关文章:

2024年跨平台应用解决方法

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 很久没有写这类high-level的文章了,本身这类框架就一直层出不穷,但是其中历久弥坚,坚韧不拔的框架又有多少呢? 首先考虑到学习成本以及掌握一些编程语言在工作、学习生态上的价值,给这些东西适用生态划分一下. Reac…...

人工智能ChatGPT的多种应用:提示词工程

简介 ChatGPT 的主要优点之一是它能够理解和响应自然语言输入。在日常生活中&#xff0c;沟通本来就是很重要的一门课程&#xff0c;沟通的过程中表达的越清晰&#xff0c;给到的信息越多&#xff0c;那么沟通就越顺畅。 和 ChatGPT 沟通也是同样的道理&#xff0c;如果想要 …...

OceanBase v4.2 解读:tenant=all 语义优化,提升易用性

1 背景 1.1 租户类型及特点 OceanBase中有三种类型的租户&#xff1a; sys租户&#xff1a;集群默认创建&#xff0c;生命周期与集群相一致&#xff0c;管理集群和其他租户&#xff0c;具有较高的地位。用户租户&#xff1a;用户创建的业务租户或普通租户&#xff0c;用于运…...

理论和实验

一、理论和实验的关系 (一)理论可以指导实验 理论家提出理论和猜想&#xff0c;实验家就可以做个实验来验证是否适用。 (二)实验可以提升理论认识 实验家通过做实验&#xff0c;观察实验过程和结果后&#xff0c;如果发现和理论预测有误差&#xff0c;那么理论家就能根据新发现…...

Linux 常用命令 - userdel 【删除用户】

简介 userdel 这个命令源自于 “user delete”,即用户删除。这个命令主要用于在 Linux 系统中删除用户账户及其相关文件。当管理员需要移除一个用户及其在系统中的所有踪迹时,会用到这个命令。 使用方式 userdel [选项] 用户名常用参数 -f:强制删除用户,即使用户当前已登…...

等保测评和安全运维

# 等保测评与安全运维&#xff1a;构建企业网络安全的双重保障 引言 在数字化时代&#xff0c;企业面临着日益复杂的网络安全威胁。为了应对这些挑战&#xff0c;企业不仅要实施有效的安全运维措施&#xff0c;还需要通过等保测评确保其信息系统符合国家的安全标准。本文将探讨…...

Java课程设计:基于Java+Swing+MySQL的图书管理系统(内附源码)

文章目录 一、项目介绍二、项目展示三、源码展示四、源码获取 一、项目介绍 图书管理系统是一个常见的软件项目,广泛应用于图书馆、学校、企业等需要管理图书资源的场景。该系统通常涵盖图书信息录入、查询、借阅、归还等核心功能,是实现图书资源高效管理的重要工具。 随着信…...

WireGuard网络架构及配置详解

WireGuard网络架构及配置详解 一.点对点二.中心网关,实现nat穿透弊端:流量全部经过中心网关,带宽上限受限于中心网关 三.借助registry实现双向nat穿透需要借助registry实现 udp打洞, 待二开 一.点对点 yum install epel-release elrepo-release -y yum install yum-plugin-elr…...

VB.NET实现上位机自动识别可用串口

在实际应用中有时会牵扯到挑选可用串口&#xff0c;比如上位机和从站设备使用Modbus RTU协议进行通讯时需要选择COM串口&#xff0c;每次启动连接前都在设备管理器查看较为麻烦&#xff0c;可以设置一个串口自动识别功能&#xff0c;如果选择了错误的串口还可以提示串口选择错误…...

Node.js版本管理工具-NVM

在开发 Node.js 项目时&#xff0c;经常会遇到需要切换不同版本的 Node.js 的情况。为了方便管理和切换各个版本&#xff0c;我们可以使用一些 Node.js 版本管理工具。 Node Version Manager&#xff1a;简称NVM&#xff0c;最流行的 Node.js 版本管理工具之一。它允许我们在同…...

【react】useEffect 快速上手

useEffect 快速上手 useEffect(setup, dependencies?) 可以接收两个参数&#xff0c;分别是回调函数与依赖数组. useEffect 用什么姿势来调用&#xff0c;本质上取决于你想用它来达成什么样的效果。下面我们来简单介绍 useEffect 的调用规则。 每一次渲染后都执行的副作用&a…...

docker容器部署jenkins

提前安装好jdk和maven&#xff0c;jdk最好使用11版本&#xff0c;jdk-11.0.10 docker run -u root -d \ -p 100:8080 \ -v /var/jenkins_home/workspace/:/var/jenkins_home/workspace/ \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker…...

第十四章 享元模式

目录 1 享元模式介绍 2 享元模式原理 3 享元模式实现 4 享元模式应用实例 5 享元模式总结 1 享元模式介绍 享元模式 (flyweight pattern) 的原始定义是&#xff1a;摒弃了在每个对象中保存所有数据的方式&#xff0c;通过共享多个对象所共有的相同状态&#xff0c;从而让我…...

ThinkBook 16 2024 Ubuntu 触控板问题解决

sudo insmod goodix-gt7868q.ko sudo cp local-overrides.quirks /etc/libinput/local-overrides.quirks sudo systemctl restart gdm 有偿解决&#xff0c;无效退款...

qt qDebug兼容LOGE

目录 普通qDebug用法 qt qDebug兼容LOGE 模板参数2实现 qDebug 实现LOGE一样的用法,这样Android和qt同时支持LOGE打印日志 普通qDebug用法 #include <QApplication> #include <QDebug>int main(int argc, char *argv[]) {QApplication app(argc, argv);int ret…...

【Ardiuno】实验使用ESP32单片机连接Wifi(图文)

ESP32单片机最为精华和有特色的地方当然是wifi连接&#xff0c;这里我们就写程序实验一下适使用ESP32主板连接wifi&#xff0c;为了简化实验我们这里只做了连接部分&#xff0c;其他实验在后续再继续。 由于本实验只要在串口监视器中查看结果状态即可&#xff0c;因此电路板上…...

常用的五大数据可视化工具测评分享

随着数据驱动决策的时代到来&#xff0c;数据可视化工具成为了企业提升数据分析效率和决策质量的关键工具。本文将对帆软BI、奥威BI、思迈特BI、永洪BI以及亿信华辰BI这五大数据可视化工具进行详细的操作体验测评&#xff0c;总结它们的特点和优势。 一、帆软BI 帆软BI作为国…...

什么是校园抄表系统?

1.校园抄表系统的简述 校园抄表系统是当代高校管理中的一个重要组成部分&#xff0c;主要运用于全自动搜集、管理方法与分析校园里的电力能源使用数据&#xff0c;如水电煤等。它通过先进的方式方法&#xff0c;完成了对能源消耗的实时监控系统&#xff0c;提升了电力能源管理…...

计算机专业:未来何去何从?

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…...

python-windows10普通笔记本跑bert mrpc数据样例0.1.048

python-windows10普通笔记本跑bert mrpc数据样例0.1.000 背景参考章节获取数据下载bert模型下载bert代码windows10的cpu进行训练进行预测注意事项TODOLIST背景 看了介绍说可以在gpu或者tpu上去微调,当前没环境,所以先在windows10上跑一跑,看是否能顺利进行,目标就是训练的…...

4句话明白虚拟机和容器的区别

一、虚拟机VM的组成 服务器-HostOS-虚拟化层-GustOS-libs-App 1、此时存在几个问题&#xff1a; 1、资源消耗大 2、扩展APP副本时到重复资源浪费&#xff08;GustOS-libs&#xff09; 3、当你开发在本地但要移植到云端&#xff0c;就会出现各种兼容性问题。 4、很难集成到DevOp…...

Django render()函数页面渲染

1&#xff0c; render() 函数 在Django框架中&#xff0c;render() 函数是一个非常有用的快捷方式&#xff0c;用于从视图函数返回一个完整的HTTP响应。它负责将给定的模板与上下文数据结合&#xff0c;渲染出最终的HTML页面&#xff0c;并返回一个HttpResponse对象。 from d…...

基于webrtc的媒体流传输工具tl-rtc-file

也不知道是什么意思&#xff0c;天天都有人在微信公众号的后台发&#xff0c;是打算找我兑奖吗&#xff1f; 本文软件是朋友 Eduna 推荐的&#xff0c;因为他觉得好像很好玩的样子。老苏一开始以为 tl-rtc-file 是跟 Snapdrop 一样的局域网文件传输工具&#xff0c;在看了 demo…...

【最新鸿蒙应用开发】——类Web开发范式2——前端语法

兼容JS的类Web开发范式 JS FA应用的JS模块(entry/src/main/js/module)的典型开发目录结构如下&#xff1a; 1. 项目基本结构 1.1. 目录结构 1.2. 项目文件分类如下&#xff1a; .hml结尾的HML模板文件&#xff0c;这个文件用来描述当前页面的文件布局结构。 .css结尾的CSS样…...

前端的强缓存和协商缓存

前端缓存机制 前端缓存主要分为两种类型&#xff1a;强缓存和协商缓存。 强缓存&#xff08;HTTP Cache-Control&#xff09; 通过设置HTTP响应头中的Cache-Control实现。浏览器根据Cache-Control的值决定是否重新请求资源。指令示例&#xff1a; no-cache&#xff1a;重新验…...

JSON如何处理包含特殊字符的字段

在JSON中处理包含特殊字符的字段时&#xff0c;你通常不需要直接处理这些特殊字符&#xff0c;因为JSON格式本身就会对特殊字符进行转义。当你使用编程语言或工具来生成或解析JSON时&#xff0c;这些转义通常是自动处理的。 然而&#xff0c;如果你需要手动处理或理解这些转义…...

JavaScript 中的 AbortController

AbortController 接口是 JavaScript 中 Fetch API 的一部分&#xff0c;引入它是为了处理和控制中止 fetch 请求的信号。这在需要取消正在进行的网络请求时特别有用&#xff0c;例如用户发起的动作取消&#xff0c;通过避免不必要的请求来提高性能&#xff0c;或优雅地处理超时…...

【前端】vue在线编辑器

以下是几个推荐的在线编辑器&#xff1a; CodeSandbox URL: https://codesandbox.io/特点: 支持 Vue、React、Angular 等多种前端框架&#xff0c;功能强大&#xff0c;社区活跃。 JSFiddle URL: https://jsfiddle.net/特点: 轻量级的在线编辑器&#xff0c;支持 Vue&#xff…...

leetcode67:二进制求和

题目链接&#xff1a;67. 二进制求和 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:string addBinary(string a, string b) {int stralen a.size(), strblen b.size();int curtc;int Maxlen max(stralen, strblen);vector<int> stra;vector<i…...

程序员必备的职业素养:专业精神、沟通能力与持续学习

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 专业精神&#xff1a;技术的执着追求 沟通能力&#xff1a;团队合作的桥梁 持续学习&#xff1a;不断进步的动力 结语 我的…...