2024年虽然平凡,但却是从零到一的关键阶段。这个过程必不可少,尽管有些单调,但在单调中蕴含着向上的力量。
2024年初,我继续完善2023年未完成的工作,目标是成为一名真正的全栈开发者。从2023年7月开始,我探索了Spring Cloud家族,但在JavaScript、移动端开发和跨平台开发方面仍存在很大不足。我不清楚React Native和Flutter的本质区别,以及这些区别对原生开发的影响。由于对这些技术的了解不够深入,我一直处于探索和混乱的阶段,尽管各个环节看似紧密相连,但在实际操作中却显得零散,难以形成完整的体系。
年初,我开始学习Android开发,从Compose入手,观看了Compose教程,并研究了许多Android示例。当时我以为自己已经入门,但实际上并非如此,因为企业开发中并不常用Compose,这套工具主要是个人开发者在使用,尤其在国内的开发体系中,使用者更是寥寥无几。鉴于Compose的现状以及为后续学习Flutter和React Native做准备,我重新学习了Activity。我阅读了官方文档,编写了无数的示例,创建了包含各种示例的项目,封装了多个库,并集成了Flutter和React Native框架的示例项目。我曾一度对此非常着迷。那段时间虽然单调,但我一直在进步。后来,我不再将大量精力投入到Android体系中,但回过头来看,那段时光是值得的,因为它拓宽了我的视野。我从更高的层次审视整个前端体系,理解了渲染引擎,并从传统的超文本标记语言中跳脱出来,探索基于Skia渲染引擎的不同实现。我了解了声明式框架的兴起,从React到其他框架,命令式仅作为底层支撑,而声明式逐渐占据主导地位。许多原有的控制逻辑被转移到框架内部,以支持开发。这大概就是我在Android学习中的全部收获吧。这个阶段结束时,半年时间已经过去了,那时我确实编写了许多示例,观看了大量视频和示例项目。现在回想起来,仿佛一切都发生在昨天。在实践方面,我参考并开发了一个类似今日头条的应用。
完成了Android的学习后,我开始着手进行应用开发。然而,我发现使用UIKit或Compose进行开发并不是最佳选择,因为成本实在太高。此外,还有HarmonyOS的存在,不可能在每个平台都使用原生开发,这对我这样的个人开发者来说非常不切实际,因为我无法独自开发三套系统,这显然不现实。因此,使用Flutter和React Native是非常必要的。由于React Native框架本身的问题,如果一个项目使用React Native开发,必然需要大量的原生逻辑支持。虽然大部分工作可以跨平台,但仍有一些工作需要原生支持。在这个时候,我将目光转向了Flutter。凭借Android学习的经验,我从Flutter文档入手,运行了大量的示例,深入学习了文档,了解了Flutter如何通过Skia和Dart引擎脱离原生渲染,对谷歌拥有这样的技术感到钦佩。在实际使用中,Flutter在许多性能方面表现出色,因为最终被编译成了.so或静态库,得益于C++的支持,性能并不逊色。这一点在我后续开发仿网易云音乐时得到了体现。Flutter确实是一个非常出色的框架,性能优异,并且由于其静态语言的特性,在后续的可维护性和性能方面也表现良好。
在接下来的一个月里,我开始了仿网易云音乐的开发。经过大约一个月的努力,我完成了这个项目。起初,由于对开发细节的疏忽,出现了一些性能问题,但经过一系列优化后,性能得到了显著提升。结合骨架屏的使用,整体体验还算不错。尽管网易接口的稳定性欠佳,影响了部分体验,但使用Flutter开发个人项目依然是一个很好的选择,至少不会像使用React Native那样担心性能问题。我的star最多的仿网易云音乐项目
到 Flutter 开发完毕,差不多就到了 9 月底。接下来的两个月是今年的重头戏,我开始了深入的开发思考。在之前的开发中,我主要关注前端或后端的开发,它们本质上只是对内容的呈现或对内容的增删改查。然而,如果没有内容,即使我做得再好的应用或后端服务器又有什么意义呢?那么,内容从何而来呢?如果我在 AI 时代之前完成了全栈闭环,我一定会非常悲观,因为花费了巨大代价的全栈闭环实际上并没有多大作用。然而,AI 时代改变了一切,尤其是 2024 年,一切都变了。
2023年,OpenAI的接口为全球各类AI创作提供了强大的驱动力,但由于种种原因,国内的个人开发者难以享受这些科技进步,尤其是在模型操作方面。然而,2024年情况发生了变化。在阿里和字节的引领下,尽管国内的模型能力尚不及GPT,但在一些简单行业中,AI的应用变得不再复杂。换句话说,国内的AI技术已经足以支持一些AI应用的落地。因此,我在2024年9月之前的努力是有价值的,我可以实现真正的项目落地,并且内容的丰富度和成本都是可控的。AIGC真正开始在各行各业中落地了。
经过前面的思考,我深信在这个时代,任何优秀的开发者最终都应投身于AI事业,因为它代表着理想和旗帜。AI是计算机发展的源头,从20世纪40年代的简单神经模拟,到后来的反向传播算法,再到卷积神经网络和循环神经网络,直至2018年的Transformer架构及其规模扩展,AI正逐步将不可能变为可能。我相信在未来的5到10年内,尤其是在依赖文本或编码的行业中,结合当前的Transformer和强化学习技术,将实现超越人类水平的突破。这是令人振奋的,因为没有饥饿和痛苦的时代将会过去,我们将迎来一个新的文明。然而,我也感到忧虑,考虑到国内的现状,这一切能否在国内实现?在一个权力无限大的社会中,这是否会成为权贵操控的工具,还是说国人将不再劳累,不再背井离乡?我是否可以在家乡开设一个小工作室,专注于我热爱的计算机事业?说到这里,情绪不免有些激动,因为我无法从现状中看到未来,但我知道我应该投身于此,为人类从工业社会向信息社会迈进的伟大事业贡献自己的一份力量。
理想是美好的,如果我每天都能从事AI事业,我一定会乐此不疲。然而,现实却是如此令人沮丧,我甚至没有一台高性能的显卡来驱动我人生中第一个迈向理想社会的模型。我的理想始终鲜明,栩栩如生,因为它存在于我的幻想中。这就是我2024年的全部生活,我的生活和事业交织在一起,因为热爱,事业成了我生活的一部分。从吴恩达的机器学习到动手学深度学习,虽然进展缓慢,但我在一步步迈向理想的AI时代。我热爱这个时代,因为它充满无限可能;我也恨这个时代,恨自己现在还太弱小。我想我会一直向前走,我想在此做出一些成就。
2025年,我的首要目标是搭建一个基于5090显卡的个人深度学习环境,开始我的探索之旅。深度学习领域广阔,各类应用层出不穷,而我希望能让它自由地歌唱。
在2024年,我还开发了一些应用程序,其中一些是利用AI辅助开发的,效果非常好。由于时间和精力有限,这些应用程序并未上架,而且仓库是私密的,无法在此分享。这就是我2024年的全部生活,虽然看似单调,但我一直在全力弥补自己在计算机知识上的不足。未来属于AI,我正在全力投入其中。
在这里,我想谈谈即将发生的一件事。在年末的几个月里,我利用AI辅助和自身的知识,开发了一些全栈应用。这些应用相对复杂,如果在过去,开发这些应用可能需要花费半年的时间,即使有AI辅助,也需要大约三个月。然而,现在借助Cursor的帮助,我能够在半个月内完成一个商用化的应用和小型服务器应用。因此,程序员实际上迎来了一个分水岭。如果你对某些领域有深入理解和关注,AI将极大地放大你的能力;但如果你只是将编程视为一份工作,那么你可能会被淘汰,因为AI带来了效率的极大提升。
最近,我开始关注Next.js。我一直认为自己应该关注这项技术,因为我的根本是前端开发,未来的工作重心可能也会回到前端。然而,我也是一名移动端开发者,因为我很少做网站,更喜欢开发应用程序。尽管我常用跨平台框架开发应用,但这并不完全算是移动端开发者。在了解Next.js后,我对Node.js和前端技术的发展感到震惊。从早期的切图仔到现在的全栈Next.js,从CSR到SSR/SSG/ISR/流式渲染,前端技术虽然只是网页开发,但相比移动端,感觉要领先一代。尽管JavaScript语言常被诟病,但由于其生态系统足够完善,社区也非常强大,因此目前依然非常有力。
生活
谈完事业,我们来聊聊生活。今年,我和呆呆的感情虽然经历了一些波折,但每次争吵都没有持续超过一周,我们携手度过了完整的一年。在四月,我买下了人生中的第一辆车——比亚迪驱逐舰。这真是一辆非常出色的车,我开着它带呆呆回青岛,从白天到黑夜,从内陆到海岸,我们乐在其中,仿佛永远年轻。到了十月,呆呆也拥有了她的第一辆车,一辆出色的本田思域,它为她的生活增添了无限乐趣和便利。我们的爱情仍在继续,如果一切顺利,我想我们会像电视剧中的许多情侣一样,从相识相爱走向婚姻,目前正稳步推进。最快可能是明年,最慢也不过后年。今年唯一的遗憾是只和呆呆去了青岛,大部分时间都待在上海,主要是因为经济原因,希望明年能有所改善。
另一个话题是健身。与2023年良好的健身记录相比,2024年的健身天数屈指可数,跑步的日子也不超过50天。虽然完成了年初的学习任务,但在跑步计划上表现得非常糟糕,完全没有达到预期。新的一年,我打算重新拾起健身,因为根据我的经验,健身和学习是正相关的。如果只专注于学习而忽视健身,长期下来,效率会大打折扣。
今年我爸来上海,我带他游览了杭州、乌镇和苏州。在乌镇,我们乘船游览,感受了江南水乡的温暖与美丽。江南真是一个好地方。
遗憾
一直想去看看这个世界,本来打算和呆呆一起出去旅行,但由于经济原因和没有假期,大多数时间都在家乡和青岛度过。我一直想去岳阳,亲身感受一下岳阳楼的壮丽;去海南,体验热带风情;去深圳,漫步人才公园。然而,这些计划都未能实现。希望2025年能有机会去这些地方走走看看。
FLAG
我很想在这里立一些flag,就像去年一样,但我发现去年立的flag中有一个很重要的没有实现。所以我决定还是不立了,因为只要心中真正立下目标,比写在纸上要有效得多。

