这倒霉的一年,我又给自己的轮子迭代了一个版本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
pikay
V2EX    程序员

这倒霉的一年,我又给自己的轮子迭代了一个版本

  •   pikay 2023-10-15 20:11:10 +08:00 2620 次点击
    这是一个创建于 726 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先直接进入主题,我写的 ofa.js 迭代到 v4 的版本了,最近用它来写了两个项目(顺便修了大量的 bug ),使用起来终于让我觉得比现在流行的前端框架好用了,终于好意思推荐给大家试试。

    顺便聊一聊这两年发生的事情

    我还记得两年前,我在 V2EX 上首次分享了这个框架。那时,我在一家相对轻松的公司工作,利用工作之余的时间,不断完善和改进了这个框架。那时候用 v3 的版本做项目,写起来很不流畅,觉得差了点什么,就没好意思再去推广了;而且那时候前端已经逐渐出现一些基于 web components 开发的前端框架,还有微前端解决方案,我觉得过段时间,应该会有个类似我这样的轮子,而且会比我这个更好用,所以也暂停维护,等待新框架崛起了;

    在那个公司工作我很开心,它会给员工充足的思考去执行任务,公司是专门帮别人做广告投放业务的;在那段时间,信用卡、保险、医美、房地产、游戏等等行业,被政策打击,我们的客户被锤得没钱投放了;最后互联网教育公司禁止上市,压垮了公司的最后一根稻草(客户),我被迫重新找工作;

    也是因为我这个框架,让我在短时间内,找到了一份在家办公的工作机会;在这家新公司的接下来的一年里,我开始使用 React 来开发产品,这段经历让我学习到如何和国际化接轨,例如习惯查阅英文文档(当然是使用翻译插件的辅助),使用 CI 自动化执行任务,使用主流测试框架(单元测试,e2e 测试等),这让我停滞多年的前端知识,得到大量的补充;

    当然,这个公司也给我带来了很繁重的工作,每个开发都是全栈,前端后端(nodejs)测试什么的,都得自己搞定,而且有很多在线 meeting ,也很少自己发挥的空间,必须局限在上面安排的思维来开发;这让我每天都加班都很晚,精神状态很差,听到 Slack 的气泡声都会有噩梦的感觉;

    终于到去年底,我也得到了解雇通知;准确来说是 “解除合作关系”,没有赔偿,只是潦草的结算了剩余工资;虽然我伤心了一阵子,但我的心总算从这份加班的工作中解放出去;

    噩梦的开始

    刚好疫情放开,能方便的去医院体检了;结果在过年前我的亲人 A 咳嗽,特地去医院拍 CT ,发现肺部有磨玻璃状结节;辗转了几个医院后,确诊下来是肺癌;我的心从过找工作变成了如何更好治愈这位亲人 A ;

    亲人不希望暴露具体身份,所以就只用 “亲人” 来代替;

    所幸在能找到的范围内,选择了一个最好的医院给这位亲人 A 治病,手术很成功,初期的肺癌,切除完成后,医生说每一段时间观察复诊就行了;

    一波未平一波又起,在亲人 A 住院期间,我收到了亲人 B 的患癌消息(这个亲人 B 虽然不是直系亲属,但我的人生和他呆的时间比我和父母呆的时间还久,是很亲近的关系);亲人 B 也是患肺癌,但是他的癌细胞已经扩散了,主病灶 CT 拍出来的肿块,和苹果那么大,已经是无力回天了;

    很快我又专注寻找治疗肺癌的方案,如何和药神买药,和申请实验中的靶向药;还有时常过去陪伴一下他,他也主动跟我聊日常,怎么弹吉他,钓鱼什么的,一副生死看淡的样子;坚持了几个月后,终于还是倒下了;亲人 B 跟我说过,后悔没有及时享乐,一直忙于工作,忽略了身体;

    在亲人 B 在医院坚持的期间,我的外婆也快到了寿终正寝的日子;两个星期前还在笑我的光头,眨个眼就进了 ICU 了;和死神博弈抢下外婆后,外婆就变得不认识我了(从小跟在外公外婆家,外公去世了,外婆算是现在最亲的);伤心于一个从小到大看着我的人,忘了我的存在;

    外婆出院后,家人想着落叶归根,她被带回了乡下,又坚持了一个月后去找外公了。

    这段时间真的很丧,亲人接连出事,身心疲倦,不想打游戏,不想工作,经常放空,思考哲学的问题,到底什么东西才是最重要的;

    辗转完上面的事情后,已经 6 7 月份了,不出意外的话,又有意外了;

    我身边的 亲人 C 腰椎出了大的问题,经过一段时间保守治疗失败后,还是去做手术了;一段时间我负责了家里的日常起居,不过不是生死离别,我已经相对淡然了;

    迭代的想法

    在刚解雇后的那段日子里,我查看过市面上的前端状况,发现并没有和我想象那样,出现那种更容易使用和高效的框架;我开始谋划 ofa.js v4 的迭代;经历过多年多个框架和平台的前端开发,我融汇了各种知识去改进 v4 ;

    虽然前面疲于生活,但还是把间断的时间,放在写代码上;最近的两个月 亲人 C 有家人一起照顾,我逐渐放开双手来写,迭代到现在 ofa.js v4 的版本;

    ofa.js v4 改变了什么东西

    和 v3 的另辟蹊径策略相比,v4 最大的改变是和现有标准兼容;包括如下

    • 不再使用自制的模块化,而是使用 ES Module ;
    • 标签声明式引用组件;
    • 和国际化接轨,改用英语备注和文档,有完整的测试和发布流程;
    • 单一文件的组件和页面( v3 是必须拆分逻辑和模板);

    想请问一下大家,这个项目还有什么改进的吗?

    几年前在这里得到网友建议,现在把自动化测试补上了,换成了英文,自己也用来开发过一段时间,现在能想到的是还要补 API 文档,不过如果没人用的话,我打算慢慢补,做其他比较紧急的事先;

    还有能给我个 star 吗?够猛的话说不定有走全职开源;

    https://ofajs.com/ 访问有时候会抽风,可以访问 https://ofajs-website.vercel.app/

    10 条回复    2023-10-16 18:23:00 +08:00
    rekulas
        1
    rekulas  
       2023-10-15 23:10:00 +08:00   1
    这接二连三的,确实挺崩溃的,先(づ)づ抱抱,希望能早日回归正常心态和生活
    Q4h7388nR28s95fa
        2
    Q4h7388nR28s95fa  
       2023-10-15 23:18:00 +08:00
    插个不太恰当的话题:

    生离死别见得更多一些,楼主可能就会开始往“命运”的方向去思考。

    当然,我不是诅咒,而是看完帖子有感而发。

    楼主加油!!!
    Q4h7388nR28s95fa
        3
    Q4h7388nR28s95fa  
       2023-10-15 23:22:17 +08:00
    看了示例和一些文档,感觉非常有意思。

    搜索文档和 github 没看到浏览器版本兼容说明?
    pikay
        4
    pikay  
    OP
       2023-10-16 10:42:28 +08:00
    @rekulas 谢谢,现在好多了 [抱抱]
    pikay
        5
    pikay  
    OP
       2023-10-16 10:46:10 +08:00
    @HiCode 谢谢;首页第二块有介绍,2018 年的浏览器开始支持,2020 年后更新的浏览器都支持了;现在的国产浏览器都更新,试了一遍都能支持,具体哪个版本开始支持还不知道,不过 2021 年用微信测试没问题;
    Q4h7388nR28s95fa
        6
    Q4h7388nR28s95fa  
       2023-10-16 11:34:48 +08:00
    @pikay 好的,我再看看文档,非常有意思的项目!
    buqizao
        7
    buqizao  
       2023-10-16 12:52:37 +08:00 via Android
    加油
    elechi
        8
    elechi  
       2023-10-16 13:52:31 +08:00
    外行赞一个
    pikay
        9
    pikay  
    OP
       2023-10-16 18:22:35 +08:00
    @imomoray 谢谢
    pikay
        10
    pikay  
    OP
       2023-10-16 18:23:00 +08:00
    @elechi 可以试一试,会 html 就能用了
    关于     帮助文档     自助推广系统     博客     API     FAQ nbsp;   Solana     5493 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 08:44 PVG 16:44 LAX 01:44 JFK 04:44
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86