Official users
Nekomusume
如果我们能知道过去的一切,就能知道未来⏳......
粉丝数
14
关注数
1
阅读数
55,193
获赞数
10
动态
文章
帖子
提问
回答
收藏夹
Nekomusume发表了文章 2025-06-08 01:05:13

6月7号 弦圈APP于高考首日的更新日志😀

这段时间虽然因为很多突发事情导致耽搁了APP的上架,但是我还是给弦圈APP进行了大量的修改和优化。新版的APP还是叫做V1.0版吧,新版APP主要变动如下:添加微信分享、QQ分享功能,方便用户分享弦圈内容。接上,添加圈子分享、文章分享、帖子分享、图片分享功能。其中圈子、文章、帖子分享包括微信好友分享、朋友圈分享、QQ好友分享、QQ空间分享。添加忘记密码功能。该功能原本只有Web端有,现在手机APP端补上。添加扫码登录功能。在弦圈Web端,用户可以通过APP扫码的方式进行登录。圈子中添加查看标签功能,相当于圈子内容的二次分类。该功能原本只有Web端有,现在手机APP端补上。写文章和提问题功能中的“添加词条”,原本只能选择原有词条,不能创建新词条。现在在这个地方允许用户快速新建词条。优化页面样式,修复部分机型导航栏遮盖问题(见 应用详情-注意事项)。值得一提的是该问题微信、QQ等APP都有😀。修复圈子中样式不改变以及样式错乱bug。修复APP端帖子与Web端帖子不兼容问题。修改APP开屏启动图案样式,之前的启动图案太小了😅,看得不舒服。目前只记得改过那么多东西了,就这10点改变,每一点都要花费我大量的心血与精力。目前因为这种《愚蠢》的APP下载方式,导致APP没几个人下载,从而也没几个人用过APP。不过我还是想通过有限的用户反馈,以及我个人的体验,进一步优化打磨这个APP。APP上架一推再推,显得遥遥无期,这也辜负了一些粉丝的期待。不过这次更新完,我是抱着拿一个更成熟、用户体验更好的弦圈APP上架,目前一切准备工作都已完成,接下来就是提交上架审核了。安卓的上架审核挺严格的,似乎能快点通过吧😁。关于上架完弦圈APP安卓版后,下一步干什么。我是打算先尝试兼容鸿蒙版,因为目前国内手机市场份额,鸿蒙已经超过了苹果,虽然只是略微超过。其次,想要上架苹果的APP Store,每年必须要交99美元的费用,不然上架了也得下架。因此先兼容鸿蒙,或许是个不错的选择。不过React Native官方并不支持鸿蒙,RN对鸿蒙的支持主要来自国内的社区,因为我没尝试过,所以也不清楚最后开发起来怎么样。只能说大家拭目以待吧!😇如果在上架前,你想要提前使用弦圈APP,可以前往弦圈应用下载APP。由于经过这次更新,安装包apk的大小超过了100M,因此Web端只支持夸克盘和百度盘下载,不支持蓝奏云了。

Nekomusume发表了文章 2025-03-28 16:21:04

读完了大学依然是社会的底层,那读书的意义是什么呢?

从小学开始到大学毕业,整整16年,读书可以说贯穿了我们每一个人最青春的时候。然而相信很多人都大学以后都会感悟到,自己回学校读书仅仅只是为了一个毕业证,平时要辛辛苦苦的上课,完成各种作业以及学校的要求。结果最后有用的东西没学到多少,时间却浪费在了诸多琐事当中,详细见 中国当前的教育最缺少什么?于是我们不经会想,既然读完书还是底层,还得受社会的毒打,那还读书来干嘛,不如早早的进社会赚取?其实读书对于普通人,尤其是我们底层人而言,好歹也算是条相对公平,且看得到头的出路。对于底层人来说,相对于搞科研、创业、投资等其他出路,读书风险较低、且付出努力能有一定收益。你想想看,如今很多人都觉得读书努力不一定有回报,那更何况其他的出路,风险更是直线上升,所有付出打水漂都算轻的了。除了是一条出路,读书也是教育的一种方式,能让你学习并掌握未来工作生活所需要的某些技能,这无疑有利于你毕业之后的就业问题(虽然学校在培养工作技能方面差强人意)。而且在学校也意味着有很多可能,你可以利用学校的资源去完成一些单独个人完成不了的事情,比如说现在很火的AI大模型,训练一次模型,单单是买GPU就不知道得花多少钱,而且还需要有专业的人才,但是如果你在学校,那么你就能在导师的带领下,学习相关的专业知识,并借助学校的服务器来训练模型。换句话说,读书这一条出路不是死的,它完全有可能引向其他的出路,比如说科研成果转化创业就是一个例子。最后,在学校也是一个结识人脉的好机会。学生时代的人际关系相较于社会,要单纯一些,没这么多勾心斗角。你的同学将来会涌去各个行业、各个领域,跟同学打好关系(慎交朋友),说不定他以后就会成为你事业上的助力。同时,在学生时代,同学之间喊人帮忙甚至拉人一起创业,反而更有可能成功,因为大家都还年轻,多少对未来有所期盼,有青春热血。而当大家都出来社会以后,各自的社会阶级不同,再加上受到社会的“污染”,关系就不会再像过去那样单纯。所以说,读书的意义是有的,关键是能够好好利用自己的时间,以及学校的资源。

Nekomusume发表了文章 2025-03-27 11:35:19

如果缸中之脑是真的,那么人就能通过意念改变物质世界?

自从知道“缸中之脑”这个无比形象的词语后,我就对思考这个问题充满了兴趣。所谓缸中之脑是指一个邪恶科学家将一个人的大脑剥离出来,然后放进营养液中,接着通过计算机连接大脑,给大脑发送电信号,让他误以为自己活在某个世界里。这是一个思想实验,该实验的基础是人所体验、感受到的一切都最终会转化为大脑中的神经信号。换句话说,人的对外界的感知是间接的,并不是直接的,而这个间接的桥梁正是大脑的神经信号。这个实验前提可以用不太严格的数学形式表示。假设外界构成一个集合$A$,所有神经信号构成一个集合$B$,大脑世界构成一个集合$C$,那么我们有这样一条公理:公理. 对于任意$B, C$,都存在一个满射$f: A\rightarrow B$,且$B$与$C$之间至少存在一个一一对应$g: B\xrightarrow{\sim} C$。即$C$同构于$A$的一个子集$\widehat{A}$。因此,我们有以下论证:因为缸中之脑和头颅中的大脑接收一模一样的信号,而且这是他唯一和环境交流的方式,从大脑中角度来说,它完全无法确定自己是颅中之脑还是缸中之脑。如果是前者,那它的想法是正确的,他确实走在大街上或者在划船。如果是后者,那它就是错误的,它并没有在走路或划船,只是接收到了相同的电信号而已。一个大脑无法知道自己是在颅中还是缸中,因此这世间的一切可能都是虚假的、虚妄的。那么什么是真实?有了上述内容作为前提,我们展开想象。假设大脑真的被计算机输入信号,从而幻想出这个世界,而这台超级计算机只负责输出信号,那么将可能出现一些漏洞,比如说人的意念有可能使这个世界发生改变。只要一个人对某些事情展现出来超出常理的执着,那么大脑也会产生出强烈的信号,如果这个信号与计算机所发出的信号相抵消,甚至压过了计算机的信号,那么人马上就会感觉到这个世界不一样了。这是不是有种似曾相识的感觉?有时候我们因为某些事情一直挂在心上,无论怎么样都摆脱不了,然后再看这个世界,就会多出一种别样的感觉。而精神病人,因为某些极其根深蒂固的执念,从而产生幻觉、幻听,相当于看到了另外一个世界。然而这些情况通通都不算是漏洞,因为只是你感受到了,你并没能让其他人也感受到。如果有些东西经过你所想,结果成为了“现实”,所有人都能感受到,没人质疑你,那这很有可能可以证明这个世界出bug了。因为这整个世界都只是计算机输入到大脑里的,现在你的大脑自身发生了变化,导致接收到的信号发生了偏差,由于输出信号的计算机并不会做出任何干预,因此这会直接导致世界发生改变。这就像生活在梦境中一样,自己的想法、意念有可能使世界发生改变,什么传说中的隔空取物、飞天遁地都能梦想成真。现实中做梦时大脑的情况,似乎跟缸中之脑非常相似,都只是接收到一些神经信号,进而感受到了另一个世界。并且做梦还不是非得意识模糊的,相信不少人经历过清醒梦,所谓的鬼压床就是清醒梦的一种,你明明身处梦境中,但意识却很清醒,甚至还能直接意识到自己正在做梦,但是就是不会醒来。通过清醒梦的情形,我们可以推断出,如果缸中之脑为真,那么哪怕有一天人真的意识到了这个世界只是单纯的神经信号,那也不会醒来,相反只会继续待在梦境中。不过是否能因此而控制世界不好说,我并没有太多这方面的经验,在清醒梦中我很难做到控制梦境。但据说通过一些技巧人是可以控制清醒梦的,即在梦中通过自己的意念改变世界。因此,我们仍能推断出意念改变世界将会是“这个世界是假的“的一个重要特征。但是如果给大脑输出信号的计算机非常智能呢?假设这台计算机是拥有智慧的,并且人的智能其实就是这台计算机赋予的。那么当人尝试通过意念来改变世界时,或者当人意识到这个世界可能是虚幻时,这台计算机是否会对此做出干预呢?如果计算机不干预,那么结论跟前面的一样。如果计算机干预呢,这样发展下去结果会有很多个,可能性也非常多,我们仅仅从计算机的干预程度出发进行讨论。如果计算机直接掐死所有可能的苗头,一旦发现人有“坏心思”就直接抹杀那段记忆,或者是强行让他降智变傻。这是有可能的,但既然计算机赋予人这样的智慧,那么对这世界产生怀疑是必然会发生的事情,明知道会如此为什么当初不干脆就少给些智能呢?我不觉得拥有智慧且无情感的计算机会做出这种多此一举的事情,一边给高智慧,一边还要给自己“擦屁股”。如果计算机并不担心人怀疑这个世界,只是在人产生电信号与计算机信号相抗衡时,直接产生更强、更多的信号来干预。这样的结果就是人的意念并不能改变物质世界,既然没有任何漏洞,那么怀疑也会是多余的,人平时该干什么就会继续干什么,并且随着时间推移渐渐忘却那些“荒谬”的想法。这么说来细思极恐,似乎这种情况更加符合现实的情况。不过缸中之脑终究只是世界是否真实的其中一个假想罢了,哪怕这个世界是假的,大概率还是其他原因造成的。甚至说可以考虑缸中之脑的推广版,无需通过计算机给大脑发送信号,高级文明直接通过空间技术,隔千里之外让大脑直接接收到信号,从而看到一个虚假的世界,这也不是不可能。

Nekomusume发表了文章 2025-03-27 01:15:22

想要实现永生不太可能,但实现长生却是有可能

实现永生可以说是人类祖先的共同梦想,古代中国有秦始皇求长生不老,而各国的宗教也有关实现永生的典籍,可以说实现永生是人类的终极目标。不过在当今大部分人看来,实现永生不过是痴心妄想,然而即便如此,关于延寿的科学研究却依旧在紧锣密鼓的进行,并持续有大量的资金涌入。原因很简单,实现永生不太可能,但是人类却是可以实现长生。自大爆炸理论成为主流科学界所认为的宇宙诞生的方式,至今我们仍不知道未来宇宙究竟会以哪种方式消亡,科学家为此提出了多种猜想(见宇宙的最终结局会是什么?宇宙命运结局的三种假说)。但主流观点仍然是:自这个宇宙诞生以来,所有的事物包括宇宙本身都不可避免的走向死亡。这个世界上不存在不朽的事物,所有事物都会有其消亡的一天。因此,想要永生已经不是寿命能不能比宇宙更长的问题了,而是人类如何在宇宙最后毁灭的时候逃出这个宇宙。宇宙的边界是什么?宇宙的外面是什么?多元宇宙真的存在吗?这些问题直到现在都没有确切答案(参考宇宙无边还是有边?如果人类达到宇宙边界,会发生什么恐怖的事?与宇宙是否真的存在尽头?宇宙边界之外是什么呢?),如果宇宙外面有东西还好,逃出去至少还有一丝希望,而如果宇宙外面是一片虚无,那逃出与否似乎意义不大。因此与其思考虚无缥缈的永生,不如思考更加实际一点的长生。在我看来,所谓永生即是永远的活着,而长生则是能活得很久很久。这二者是有区别的,但是在大尺度下,对于如今的人类而言似乎也没多大区别(对于能活100岁的人来说,如果延长寿命到1亿年,跟永生有啥区别)。人的一生是短暂的,把时间线拉长,纵观人类历史,从第一个人类到如今数百万年的时间,一个人的一生可以说如同尘埃,可以忽略不计。然而如果继续把时间线拉长,纵观地球的历史,恐龙时代开始于距今2.01亿年前的三叠纪,横跨三叠纪、侏罗纪、白垩纪,三个漫长的地质时代,人类的历史尺度跟恐龙的比起来,也显得微不足道了。不过无比漫长的恐龙时代跟地球的年龄比起来,更是不在一个量级上,众所周知地球的年龄为45.5亿年,对于地球🌏来说,其上面所发生的一切都转瞬即逝(太阳的年龄是45.7亿年)。几十亿年已经够长了,而宇宙的年龄更是高出一个数量级——137.97亿年。只要太阳不死,地球就不会死,而只要地球不死,地球上的生命就有可能继续活着,至此一个人能否跟着地球一起活下去,就只剩下基因问题了。时间尺度太大的不说,就说相对短的,世界上最古老的树,短的活了上千岁,国外有雪曼将军树和参议员树(3500岁),国内有黄帝手植柏(5000岁),最长的潘多树活了8万年,那时人类的祖先还居住在非洲。单论哺乳动物而言,100多岁也远不是哺乳动物的极限,弓头鲸的最大寿命能达到268岁。而人类的理论极限为120-150岁之间,目前也远没达到。因此长生是有意义的,且可能实现的。如果一个人能够活上千年,那么他将有机会经历整个中华上下五千年。如果一个人能够活百万年,那么他的一生将贯穿整个人类历史。如果一个人能够活数亿年,那么他将有机会经历地球的悠长历史,并且有机会知晓生命的起源。这就是生命的尺度,人的生命尺度这么短都能做出如此成就,更何况将它拉长。虽然可以提前预知,实现长生将会导致大量史无前例的社会问题,但是我相信人类迟早会走到这一步,只要人类社会是螺旋向上发展的,就必定会走到这个阶段,注定面临这些困难的抉择。但我相信人类必将解决这些社会难题,因为当人类的寿命进一步延长,地球人口就迎来新一轮暴涨,星际探索、星际扩张就会变得十分紧迫。未来的人类将不得不将全人类分散到各个不同的星球上去。而即便地球人口最后并没有暴涨,未来的人类也终将踏上星际时代,开始进行星际远航。而人类想要踏上星际远航,没有悠长的寿命是不现实的,毕竟从一个星系到另一个星系,即便光可能都要走数百万年,我不相信仅靠所谓的冰冻人技术就能解决问题,那种无事休眠有事唤醒解决问题的说法太过理想化,星际穿越的时间尺度太长任何小概率的事情都可能遇到。怎么说都得让能活数万年的人去,让他们在宇宙飞船生育后代,并结合冰冻人技术,会更加稳妥一些。总之,永生不现实,长生是人类迟早要实现、要攻克的难题。

Nekomusume发表了文章 2025-03-26 21:17:36

Android Studio安装教程 - Windows版

如果你想要开发Android应用,那么Android Studio往往是必不可少的,其包含Android开发所需要的环境,即便你不打算用Android Studio进行开发,也需要先安装配置好它。首先打开Android Studio中文官网进行下载:https://developer.android.google.cn/studio?hl=zh-cn,下载速度亲测可以,作者今天下载时速度甚至达到了60MB/s。点击下载Android Studio xxx,接着会弹出下载Android Studio的条款及条件。勾选同意后,点击下载Android Studio xxx开始下载。下载完后打开安装包,然后点击Next继续点击Next接着选择好你的安装位置,继续点击Next现在点击Install开始安装耐心等待安装完成安装完成后,点击Next然后点击Finish完成安装等待Android Studio打开。这时会弹出这个收集数据的东西,点击Don't send😎接着进入到Android Studio Setup Wizard的界面,这时如果弹出下图错误,直接点击Cancel即可然后点击Next开始安装流程接下来这里选择默认的Standard即可,直接点击Next进一步这时候设置好你想要安装Android Sdk的位置,然后等待fetch数据接着点击Next继续点击Next这时勾选Accept同意条款,然后点击Finish这时等待下载和安装即可需要注意的是这一步可能很慢,要等很长时间,可以点击Show Details查看进度安装完后,点击Finish这时会弹出以下的开始界面,证明Android studio就已经安装完成了。点击New Project,创建一个新项目。然后随便选择一个activity(这里我们选的是Bottom Navigation Views Activity),然后点击Next然后填写项目名称、包名、项目位置、语言、最小SDK,接着点击Finish这时便会到达项目页面,耐心等待即可到这里关于Android Studio的安装教程就到此为止了。

Nekomusume发表了文章 2025-03-21 18:40:22

如何创建你的第一个React.js+Vite项目?

最近弦圈APP第一个正式版上线了,在下载弦圈APP这个页面中,GitHub Page的下载页面就是直接用React.js+Vite写的:https://ricciflows.github.io/xianquan-app-download/。那么,对于新人小白而言,如何创建第一个React.js+Vite项目,并写出这样一个简单的页面呢?本文将手把手教你如何实现。首先,你需要安装并配置好node.js环境,具体见Node.js安装与更新教程 - Windows版,并确保node版本是18+或者20+。接着win+R并输入cmd打开控制台(如果你想要选择项目的位置,如D:\Reactjs,则分别输入D:和cd Reactjs)然后输入命令npm create vite@latest如果输出以下结果,则输入y然后按enter键接着输入项目名称,如vite-test按方向键↓,选择React,然后enter接着,根据自己的需要选择。这里我们选择第一个然后根据提示,分别输入三条命令。第一个命令是指进入项目文件vite-test,第二个命令则是安装所有npm依赖,第三个命令则是运行测试模式。注:输入完npm install的时候等待安装依赖。安装完后,运行npm run dev然后打开浏览器,在地址栏中输入网址 http://localhost:5173/ 这样你的第一个React+vite项目就创建成功啦!那么如何开始编写自己的页面呢?首先,你需要有VSCode编辑器(安装步骤见VSCode安装步骤 - Windows版)。接着打开VSCode,点击Open Folder找到你的项目文件夹,点击选择文件夹勾选Trust the authors...,然后点击Yes接着在左侧栏找到App.tsx,然后你就可以开始编写你的第一个页面啦!你可以像下图那样修改,然后按Ctrl+S保存接着就能看到你的杰作!本文关于创建第一个React+Vite项目的教程就到此为止😇。关于更多React相关的内容,可以访问React的官方文档进行学习。

Nekomusume发表了文章 2025-03-21 17:44:55

Node.js安装与更新教程 - Windows版

Node.js环境是前端开发的必备环境,无论哪一个前端框架都需要用到node.js,本文将会教你如何安装配置node.js环境。如果你已经安装过node.js,但是想更新,那你也只需要按照安装的步骤直接覆盖原目录即可。首先,打开node.js的官网https://nodejs.org/zh-cn,然后下载node.js的Windows安装包。注:无特别需求,直接安装LTS(long term support)版就可以了。如果觉得在官网下载速度太慢,可以选择镜像网站下载:https://mirrors.aliyun.com/nodejs-release/v22.14.0/?spm=a2c6h.25603864.0.0.4b507621PbOVxm。然后根据自己电脑的配置选择安装包,下载完后直接打开,选Next勾同意协议,然后选Next设置你的安装路径,然后选Next接下来,这里不用管直接选Next继续选Next,注:这里说的是某些npm库安装时需要从C/C++中编译出来,如果你想要能安装这些库,就勾选此项。现在直接选Install,开始安装等待安装完成(如果这时候弹出请求管理员权限,点是)安装完成后,点Finish结束安装。这时候node.js的环境变量已经自动加入到你的电脑中,不需要你去额外添加。按win+R,然后输入cmd打开控制台接着输入命令node -v如果输出跟下图一致,证明node.js已成功安装。最后你需要额外修改两个node.js的参数,并配置相应的环境变量。在控制台中,分别输入以下三个命令(注意路径为你的node.js安装路径):npm config set prefix "D:\Program Files\nodejs\node_global" npm config set cache "D:\Program Files\nodejs\node_cache" npm config set registry https://registry.npmmirror.com/第一个命令修改的是npm全局安装的路径,即npm install -g xxx的安装位置。第二个命令修改的是npm的cache文件,需要定期清理。第三个命令将npm下载源修改为国内源,用于提高npm install xxx的下载速度。修改完后,输入命令npm config list如果输出以下内容,则证明修改成功:最后添加一条环境变量,先打开Windows设置,然后点击高级系统设置点击环境变量在系统变量中,找到Path并选中,然后点击编辑接着点击新建,然后输入D:\Program Files\nodejs\node_global,然后点击确定即可。到此,node.js的安装步骤已圆满完成。

Nekomusume发表了文章 2025-03-21 12:39:24

Flutter、Tauri、React Native、Android原生的四次开发经历,为何最后我选择了React Native?

Flutter、Tauri、React Native都是目前移动端流行的跨平台开发框架,并且他们还能胜任全平台开发。React Native是最早开源的跨平台框架,而Flutter紧跟其后,并且Flutter最近几年超越React Native成为当前世界上最流行的跨平台框架。Tauri则是最近几年诞生的新跨平台框架,跟其他框架显著不同的一点是,它允许你使用任何前端框架,即你能够自由使用整个Web生态进行跨平台开发。Flutter、Tauri、React Native、Android原生我都尝试过,接下来我说一下我分别使用他们的开发经历。首先,我第一个使用的跨平台框架是Tauri,当时Tauri V2.0已经发布,我看它能够使用Nuxt.js或者Next.js进行开发,觉得蛮不错的。毕竟我有两个网站,一个是Nuxt写的,另一个是Next写的,这样我就只需要在原有代码基础上修改一下就行了。于是很快我就栽跟头了,首先是Nuxt的桌面端应用,我在dev模式下,没有发现任何问题,$fetch请求也能正常发送。结果build以后,发现所有的请求都废了,全是404,将url改为完整url,结果就是跨域问题。之后我才明白,Tauri其实是一个Rust GUI框架,HTML、CSS、JavaScript都只是用来渲染画面罢了,想要发送HTTP请求还得通过Rust。于是,在Tauri官方文档中,我找到了HTTP请求的插件,最后才解决了这个问题。这还只是个小问题,最后真正劝退我的还是写移动端的时候。之后我找到了一个Web端的手机端UI库,于是打算从零开始写一个手机端APP。刚开始一切都没问题,开发起来就跟Web端我适配手机端时一样。直到写登录功能时,我才遇到一个新问题。在Web端我们可以直接使用cookie来实现登录功能,而在Tauri似乎并没有cookie这个概念,我得使用OAuth2实现登录功能,并将access token与refresh token存放到安全的地方。而这就是一切问题的起因,我查看了Tauri官方提供的插件,最后找到了两个能用来存储数据的插件——Store和Stronghold,而Stronghold就是专门用于存储敏感数据的。于是,我直接根据官网的步骤开始使用,结果最后运行的时候rust build报错了,怎么样都修复不了。谷歌上也找不到什么有用的信息,最后我不得已去GitHub提了一下issue,没人答复。于是我只能放弃Tauri,毕竟这么简单的功能都解决不了,谁知道后面有没有更难的。后来我也知道这是为什么了,就是Stronghold的一个依赖过时了,但没人替换掉,总之这个问题短期内是无法解决的。具体见Stronghold doesn't work在放弃Tauri后,接着,我使用了React Native来开发。React Native虽然使用的语言是React的,但是开发体验完全不一样。并且我刚开始使用了错误的UI库Tamagui上手(具体见React Native UI库介绍与对比),加上创建项目使用的template不同,总之刚开始用了不多久,我就放弃React Native了,转而尝试安卓原生和Flutter。说到安卓原生,我的开发时间很短,因为一开始用了没多久就把我劝退了😅。首先是很奇葩的需要将所有的string都写进一个xml文件里,这跟Web开发这么久所形成的习惯格格不入。接着就是布局组件这些,都得在xml文件里写,而函数调用那些就得在kt文件里写。接着就是实现一个ListView想不到也这么麻烦,最后根据网上找的资料,我才勉勉强强实现一个。最后把我劝退的,是在安卓原生发送HTTP请求,我对Java或者Kotlin本身就不熟悉,结果我发现想要发送一个简单的请求居然如此麻烦,对比React Native直接一个fetch搞定,安卓原生哪怕下了OkHttp也还是那么复杂。总之,最后我觉得按这个情况下去,开发完一个APP得猴年马月。于是,这时我第一次使用Flutter进行开发,虽然Flutter用的是dart语言,对熟悉JavaScript的Web开发者来说有些反人类设计,但其写法跟Java相似,并且跟安卓原生相比,已经简化很多了,接着还有一点就是它的官方文档十分齐全,还附有视频。刚开始用Flutter开发也没啥大问题,基本上都克服了。Flutter的状态管理相比于React Native能够使用Zustand还是复杂很多,不过发送HTTP请求还算简单跟fetch有得一比,比安卓原生简单不知道多少倍。而Authentication的实现比React native navigation的实现过程复杂一些,但最后也是顺利实现。目前看来,我应该可以使用Flutter一直开发下去。最后是什么劝退我使用Flutter呢?答案很简单,因为我无法使用Android emulator进行测试。前面我使用flutter都是直接用浏览器来测试的,也就是说我测试的是Web端,而Web端想要实现跨域很麻烦,反正我一直实现不了。毕竟我要开发的只是手机端,于是我直接打开安卓版,结果要么是报错,要么好不容易报错没了,结果Android emulator崩了。最后我花了不少时间,都解决不了Android emulator崩溃的问题,GitHub上也有不少人遇到这个问题,于是我只好放弃Flutter。最后我重新使用React Native进行开发,并且弃用Tamagui,改用React native paper以后,基本上也没遇到什么大问题。一路顺利推进下去,而偶尔也会遇到一些问题,需要花很多时间来解决。就这样前前后后花了三个月,弦圈APP终于在3月1号开发完成。