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

关于Flutter与Qt for python 的一些技术、开源、商用等问题

关于Flutter、Qt for python 以及一些技术、开源、商用问题

为什么写这篇文章?

首先我自认为我是一个非常喜欢极简主义一次编译处处运行这些概念的人。当然,这也是我选择学习跨平台技术(Qt for pyhonFlutter)的原因。

首先我先叠一层甲,下边的都是我的一些个人观点,不喜勿喷。

关于Flutter全栈

我是在x86-64Linux环境上开发,只是看过基础部分语法,运行过一些demo。demo链接

关于Flutter的语法:

首先,我认为语法角度 Python要比Dart简洁的多(当然部分小语法还是比较简洁的比如判空等)。Dart的语法门槛对于学习Java以及JS的人来说应该要比较简单。

关于技术问题

Flutter的野心特别大,要把桌面应用(WindowsLinuxMacOS)、移动应用(androidiso)、网页(ChromeEdge引擎等)。首先,不得不佩服google不愧是大公司,财大气粗才会想着实现大一统(要是一些小企业想着就是先上桌喝口汤);其次,要兼容这么多平台,光想想就觉得工程量非常大。这就注定是一个漫长的维护周期,且必定有一些技术问题长期无法得到解决(这部分我是去知乎了解的,看的太多不一一列举了);最后,毕竟是google维护的大项目,要是持续更新维护就存在更好或完全兼容的可能性(可能国外会有一些大佬先有解决方案)。

结论: 跨平台开发可以,我在Linux上测试webandroidLinux均可。

关于Qt for python桌面GUI程序开发

这部分我觉得还是有一定话语权,毕竟写了这么多博客!

技术问题

我觉得学习一个技术要知道这个技术:能做什么,不能做人么(什么是强项,什么是弱项),这也是比较耽误时间的(有些技术噱头太大,又没有人分享踩坑经验,只能"先干为敬"),Qt for python背靠的是Qt这颗大树,得益于QtPython提供的各种接口,使得Python开发桌面应用程序(WindowsLinuxMacOS)成为可能。但是Qt的学习曲线就陡、Python只是开发效率高了,该了解的还是得了解(像什么QSSQML各种控件)。

结论:桌面程序开发(WindowsLinuxMacOS)可以试试,移动应用就是噱头。

语法

Qt的框架足够大,达到什么程度?你几乎可以将Qt抽象为一门语言。主要就是类多、轮子多但是主要还是Python语法。

文档相关

我在一个Qt for Python的技术群里看到有人这样评价flutter的文档是一堆shit(大致意思,原话记不清了),我作为一个初学者也是这样的感受。与之相比Qt for Python或者Qt(文档更全)的文档就比较人性化了,但是就我使用下来也没有特别人性化。比如: 一些冷门的部件、一些特殊的属性等,而且免费分享踩坑经验的人 少之又少,遂只能看看相关类与父类的属性、方法、信号、槽等。

结论: Qt for Python的官方文档相比Flutter的要好太多,但是一些冷门的还是需要自己踩坑。

其他

首选,Qt for Python可以学习的项目,我觉得比较少(主要是一些辅助开发项目以及一些入门教程),这部分书籍也是基础篇多(可视化爬虫和游戏以及数据分析相关,就算不错的项目了;PyQt5的项目可能更多 像什么串口连接工具)。也有可能是搞Qt的大部分不是嵌入式、就是什么音视频处理。

注意: 有些真的是噱头,就是无脑显示一个好看的界面骗点赞、关注以及马内 (有不少但我不敢说)。

学习建议

PyQt5-6``PySide5-6的书和项目都看看(最好有精力再学学C++,读者精力有限遂放弃)。买书其实也是避免重复造轮子,很少有人纯为爱发电(纯开源)。当然你也可以理解为主题阅读,更容易构建完善的知识体系。

商用

Qt for Python

社区版本是支持GPLLGPL俩种模式的,前者享受自由就必须分享自由,后者商用可不开源

Flutter免费商用

是否要坚持当前的技术栈或学习新技术

这个问题的本质就是看兴趣和工作内容,如果需要和感兴趣那当然要学。

干一行爱一行还是干一行恨一行?

越新的技术代表有更多可能性(不过还是依赖于社区和开发者等的长期维护),旧的技术由于功能相对健全、bug维护更及时。这样看就不难理解为什么会爱和恨:
a. 爱是因为刚入门或者享受到了技术带来的乐趣。
b. 很就是到了技术栈的顶端(当然你要是一直没有补全技术债,那当我没说)

打个比方:学一门科目,刚开始考60其实是比较简单那80呢?90呢?100呢?
当能打一个80左右我觉得大部分 需求都能解决了!剩下时间可以留着了解其他技术栈。

想入行或者兴趣爱好 怎么坚持?

这里笔者不得不吐槽了,对于我们00后 什么IT技术红利也没赶上(倒是非典、新冠赶上了),与90后比工作经验我们没有,70/80后比人脉资源我们没有。我们有什么?那就是年轻,接受新鲜事物或信息能力强。其实我觉得IT也是比较吃经验的,有很多Java的大佬,什么安卓开发、后端、前端等 都是手拿把恰。也许是机构的后期服务,不过我觉得更多是直接或间接内化或形成了处理Bug与学习新技术的逻辑。

怎么坚持?我觉得还是培养成一种兴趣、爱好,做好短时间内看不到成果如马内的心理建设。

在短视频的熏陶下,我们渐渐丧失了,做成一件事情的耐心,开始变得基于求成。慢下来,坚持下来,技术会慢慢精进。

开源是一场骗局?

开源也是有好的,看是不是纯开源,不过国内外环境不一样。以下为个人观点:
国外大公司不缺钱: 先把蛋糕做大。
国内小公司缺钱: 先能吃个小蛋糕就吃个小蛋糕。

关于一些项目开源后又增加商用模式?这是一种常见的开源收益模式(比如QtAnconda),还有Donate捐赠或者由开源基金会支持。还有的会半开源,一部分可以免费,但是高级的需要付费(不难理解,确实是需要长期维护,是需要耗费脑力和人力的)。

这里我吐槽几句,好产品不如好营销。奔着技术去就好好擦亮眼睛,看看是不是噱头!(给你装个B,让你觉得牛13 ,但一点实用性都没有这种就f**k off)

http://www.dtcms.com/a/585420.html

相关文章:

  • 国外免费建站网站不用下载设计师培训心得
  • 深入解析 LeetCode 1572:矩阵对角线元素的和 —— 从问题本质到高效实现
  • Android Input ANR分析
  • Dify 添加 Google cloud 模型供应商
  • 大语言模型提示词技巧总结
  • 高职无人机应用技术专业职业发展指南
  • 网站流量软件银行门户网站建设
  • MySQL的CASE WHEN函数介绍
  • 逻辑方程结构图语言的机器实现(草稿)
  • 计算机组成原理---中央处理器
  • 合肥建设学校官方网站网站栏目规划图
  • windows11配置wsl安装ubuntu20.04
  • Go语言中的函数
  • 建瓯市建设局网站国内团购网站做的最好的是
  • XMSRC4392_VC1:4通道192KHz ASRC及768KHz SSRC音频采样率转换器产品介绍
  • 来宾绍兴seo网站托管方案手机怎么弄微信公众号
  • C 标准库 - <ctype.h>
  • Xshell效率实战:SSH管理秘籍(二)
  • 克隆整个macOS系统到新磁盘
  • 详解【限流算法】:令牌桶、漏桶、计算器算法及Java实现
  • Spring Cloud Config
  • 河南卫生基层系统网站建设企业资质查询系统官网
  • 临沂网站改版购买商标去哪个网站
  • 模块化并行清洗工装:实现规模化清洗的增效方案
  • Vue项目实战《尚医通》,首页医院组件的搭建,笔记09
  • 《新概念英语青少年版》Unit1-4知识点
  • ParameterizedType
  • 订单流战争:AI、区块链与市场透明度的终极博弈
  • 阿里内推-11月新出HC
  • 使用讯飞星火 Spark X1-32K 打造本地知识助手