1,
电脑长期开着这个软件,局域网的设备打开局域网地址,
任何设备都可以往里面传输文字,图片,文件,链接,就像聊天对话框。
任何设备都可以看到这种聊天对话框,可以下载图片,复制文字,打开链接,等等。
最好有搜索功能。
数据保存在电脑上,电脑上管理聊天对话中的内容。。。
2,
哪些编程语言适合编写电脑小工具exe软件?哪个方便小白,易理解,效率高。
目前我知道的有:易语言,autohotkey,aardio,还有个人给我说vb、delphi,建议学习哪个呢。
楼主想要的应该是类似 webd、dufs、chfs 那种能传输文件的 http 服务器。
你说的这种所谓“小工具”可不简单……粗略一看,牵扯到断点续传,多线程,无线模块,https传输,读写文件,以及超多的错误处理……
用上面的易语言和aardio几乎不可能完成,哪怕完成了也是架构一团乱麻
ahk不可能完成,除非联动其他语言,但是又和你说的“简单、效率高”冲突
vb和delphi不熟,还是其他人补充一下吧
如果是 一些系统小工具我会推荐aardio,如果你想正经学还是看看cpp,java这类吧……
不行把,飞秋更像是局域网qq。
目前唯一达到我要求的就是局域网快传这个app。
是的,目前唯一实现这点就是局域网快传这个app,是手机端的,
chfs缺少发送文字,其他两个应该差不多,目前局域网共享这些软件还是把思路放在对文件的共享上,缺少对日常文字,链接的传输。
请教一下,什么原因会导致易语言或者aardio“几乎”不可能完成,就算完成也会“架构”一团乱麻?
开发效率和语言易理解当然是 Python,但是占用内存低就很难了,运行效率和开发效率某种程度上是呈反比的
你说的就是个 IM 吧。ipmsg,飞秋。还有我 2009 年做的 besteam 都可以搞定。
我的 besteam 是用 Python 写的。花了我一年多的时间。玩玩可以,真的要做好一个局域网工具其实是不容易的。
因為不是大神,所以就針對其中幾個問題回答
哪个编程语言制作这种小工具效率高?
這個問題其實包含兩個子問題
也就是哪個語言能寫這種小工具,以及哪個語言效率高?
對於前者,是根據你的語言特性,要看情況去寫
用個不恰當的比方,你想做一款FPS射擊遊戲
你想用RPG Maker 去做也不是不行,有辦法做,但就不是用來做這個的
至於編程語言的效率,我個人認為只要熟悉了
基本上都是有效率的,不熟的話,哪怕寫起來很有效率
你還是得乖乖翻查工具書
進階的部分就是理解 IDE (整合開發環境) 的概念
會對你很有幫助
占用内存低?
儘管有的編程在這方面有優勢,但通常占比不會很大
主要是取決於你的寫法和目的,例如你寫的是 視窗炸彈
那麼內存占用只會直接拉到爆滿
语言易理解?
大部分主流的語言都是容易理解的
他們有著清晰的編程邏輯,容易入門
至於有一些類似RUST,他們有較為強制、嚴格的規範
最好還是買一本工具書,按部就班的學習是最好的
因为易语言和aardio的模块化都比较糟糕……一般开发时都喜欢模块化,一个模块管一个小方面,但是aardio与易都很少以模块化的方式解决问题(在不同电脑上使用自己编写的库/模块每次都需要手动导入……)大多都是以单文件的方式解决的
此外,aardio与易很多功能都是缺失的,虽然我也喜欢用,但是确实标准库缺少了很多常用的函数,很多比较基本的功能(例如随机排序一个list)这种都需要手动diy……系统交互方面的很多也都需要自己调用dll,或是用其他正规语言相互调用,最终成果也不像传统项目一样可以说自己是“纯C编写”的。
另,一些断点续传这种功能,如果使用cpp这种主流语言可以直接抄现成的、已经经过很多人检验的、没有什么太大bug的轮子,但是aardio和易,很多使用需要自己手搓轮子,一些没有太多正规编程训练的人(比如我本人),就很容易写的依托答辩,一开始还能用,后来发现问题想修的时候就再也想不明白当年的思路了……
当然确实也有人能做到,aardio的开发者本人Jacen He他自己就可以……(他在介绍aardio时写了一句:aardio本身就是模块化的,只用了少量代码就撑起了核心,并且基本没有再改动,其余大部分代码都是使用aardio写的[原话没记清,大抵是这意思,回头我再找找])
但是日常使用的过程中(包括我在网上查教程的时候)确实没有看过有人用这类语言开发一个巨大的、标准化的项目……
找到Jacen He的原话了
谈谈我的看法,正常交流,仅就事论事,请勿介意。
aardio用的不多,入门水平,不多说。易语言开发经验十几年吧,从我当前的认识程度来看,易语言“恰好”是模块化程度极高的一门开发语言,小型桌面应用程序的各种轮子数不胜数。模块化程度高到什么程度呢?以加载了最普通的精易模块为例,大概高到小学生可以像给电脑下命令一样来写代码,一句话就完成其他语言要写几十行上百行代码才能完成的功能,换句话说就是易语言的封装度极高!高到很多专业IT人士抨击学习易语言的人只会调库啥也不懂的程度。
标准库…缺少“常用”函数?随机排序一个list?这个理解的不是很准确,不知道是什么意思,标准库我理解就是官方的核心库吧?数组排序功能是有的,只是不太明白什么叫“随机排序”,这个功能确实没有,不知道哪个开发语言有相关功能,可以介绍一下。
另外,核心库通常只提供最基本的操作,一些复杂一些功能,都是用核心库功能自行封装起来的,易语言有很知名的精易模块,封装了上千个高级功能,可以拿来就用的,类似排序数组,不管是数值型还是其他类型都已经封装好了,不需要再自己手动DIY了,具体可以去精易论坛了解一下。
现在敢自称“纯C编写”的应用大概不多了吧,能够调用其他语言开发的库和dll等,应该是比较常见和普通的操作,甚至可以说是这个语言的优点之一吧,这块应该没有什么问题。
这类轮子,易语言社区里数量太多了,多到要用的时候还需要自己挑选一番,多做做测试,看看哪个更符合自己要求。
以上,是我的一些想法,仅供参考。
回归本题,我认为易语言非常适合用来开发题主所说的小工具,没有之一。
当然,初学者可能会面临用易语言开发的程序不支持unicode的问题,虽然后期可以通过高级技巧来进行完善,但总归是一个问题,需要题主注意。
非常赞同,易极其高效、模块化,但是编程语言本身的模块化与自己编写程序的模块化似乎不是一个概念?(我也没整太明白)
我是以python为例说的,如图。而random库虽然需要import,但文档确实把它称之为标准库 (始终感觉python的标准库是最多的)
是的,之前用易语言写小玩意也是喜欢用精e模块,可以不用动脑子……但是理论上应该去看看它的底层实现是怎么样的,是否有优化空间,是否可能存在后门……(虽然99.999%的开发者都不会这么做,但是就怕那个万一)
此外,精e很好用,但是具体的执行效率方面也很难进行优化,因为精e一方面依托于易,实际的具体实现方法是看易的,另外精e本身也才10年左右的发展时间,与发展了几十年的传统语言相比确实还有进步空间
确实,纯c太难了
emm,在我看来就是这里不好,轮子多没得说,易的轮子方方面面基本都有,但是一个在能用与好用上需要自己一直挑选,是否有bug也需要自己去调试。传统语言这点就比较好(新型语言rust啥的这方面也不大行,真要是论这方面得找c/cpp/java这类),能找到几乎完美的范例式的程序(或代码片段),然后直接依照思路的葫芦画个属于自己的瓢就好了,什么错误处理的各种情况,什么特殊情景下的解决方案,前辈们已经趟过雷了,不用自己踩了……
加入aardio大家庭吧 虽然我到处嫌弃aardio,但是他仍然是我目前开发小玩意的第一选择,aardio直接支持utf16,并且对utf8的转换啥的也很方便
我认为是最简单的工具,但绝对不是最能让程序得心应手的工具……
这个模块是100%开源的,所有代码都可以自行检查和维护,实属良心作品!
要在一个几十万用户且100%开源的代码中加后门…这个…我不知道该说什么了。
是说类似的模块或者库 不是说精e……
局域网传东西我主要是mac和windows之间用得多一些,很喜欢utools那种一次性使用的方式,主要需求是快捷,试过很多软件,目前还是用的utools,如果这个工具的能支持以下方式就更好了:
剪切板或者拖动方式选择文件、文本等,然后用快捷键或者通过其他软件(utools,raycast等)运行命令行来选择传输的目的地。
第一个问题我只能推荐 KDE Connect + Telegram,手机电脑之间同步,体验还可以。
依稀记得 Nextcloud 好像有个聊天功能?楼主看看呢。
第二个问题我来补充个 Flutter。跨几乎所有平台(Android/iOS/macOS/Windows/Linux/Web/HarmonyOS/微信小程序)、性能高[1]、生态好、安全性高、响应式布局编写简单[2],接近我理想的最优解了。
稍微花时间学一下 Dart 这门杂交语言,编写小程序很容易……