helloworld.net的建站故事与技术选型

待兔 等级 1055 25 3

helloworld.net的建站的故事与技术选型

大家好,我是待兔,也是 helloworld.net开发者社区的创始人之一,自从2021年1月18号,helloworld.net 正式上线当天就引来了很多的技术人的关注,其清爽的界面,人性化的操作交互,得了不少网友的好评,大家有表扬的,有提出不足的,有给出很多中肯的建议的,不过大家最关心的,是 helloworld.net 背后的故事以及用到的技术栈是什么?技术框架如何搭建的?

为了满足大家的好奇,团队一致认定我写一篇文章解答上述问题,理由是我文笔比较好(其实真实原因是他们都太低调了,不愿意出来说,哎,坑了我了.... , 写这一篇文章死了好多脑细胞,比写代码难)

我们为什么要做 helloworld.net 技术社区?

喜欢,热爱coding, 喜欢互联网产品,追求完美,虽然现在有不少的技术社区,但是有一些技术社区广告太多,格式混乱,垃圾信息太多,当然也有的社区做的比较好,但是我们觉得多一个平台多一个选择,我们是想从技术的角度出发,想做一个不太一样的平台,也算是一个尝试。

其实上线之前我们心里一直是忐忑的,会不会上线后没有人访问啊,会不会被人骂啊..... , 好在上线后,除了批评声,还有表扬的声音,心里算是有点谱了

helloworld.net 给力团队

首先呢,做 helloworld.net 不是我一个人,是一个团队在做,有前端,后端,移动端,设计师,产品经理,运维,爬虫,甚至还有已经拿到好几个大厂offer的研究生,我在其中只是担任后端开发。 不过我们团队最神奇的是,前端那哥们以前居然是个水手,去过大西洋,太平洋,上万公里,也经过索马里(还好没遇到海盗,哈哈...),水手转前端,这跨度,够牛了吧,整个网站都是这哥们负责的,我们都叫他水手。

除了有水手,也有在国内某个技术平台有上万粉丝的技术大牛,当时我还得专门去上海见过这哥们呢(刘备三顾茅庐才搞定诸葛亮,我们去一次上海就搞定了,哈哈,赚到了)

还有我们的设计妹子,不仅人长的漂亮,而且非常有才华,从网站设计,APP设计,Logo,海报,头像,定制T恤,无所不能全程参与(设计妹子还没有男朋友哦,想要联系方式的可以私聊我哦)

每个人都不一样,都有自己独特的地方,这里就不一一说了。

helloworld.net 的技术选型

偷偷告诉大家啊,我其实不是做后端的,只是以前接触过PHP,嗯,就是世界上最好的语言,没有之一的。 项目是在2018年成立的,当时只能我来做后端了,因为他们连PHP都没有接触过,哈哈,PHP坑我。

闲话少说,说正事,最初想用java Spring那一套,于是就上网找了个SpringBoot的视频,看了一个星期,还是晕晕乎乎的,全是配置,我应该用什么配置?配置写在哪?用哪个注解?注解里面写什么?啊啊啊,头实在是大,算了,实在搞不明白,可能是我比较笨,搞不定,不搞了,放弃java了。至于PHP嘛,还是算了吧,也是因为自己不喜欢吧,所以吧,公司里面用的框架好与不好,全靠,某一个人的决定的。

1 后端技术选型

java那一套搞不定,php又不想用(我真是作啊),那只能考虑其它的了,目光锁定了go身上,听说这玩意性能好,简单又简洁,而且没有那么多的配置,于又花了一个星期的时间学go,顿时有种找到了知己的感觉,这go太好用了,连nginx都不用安装了,java那一套并发机制,各种锁,各种同步,各种原子操作,唤醒,通知等,在go里面全没有了,go用了管道的方式,让人理解上更顺其自然了,写并发更容易了,而且是语言层面上的。

goweb也很强,自带的http,用go写的http程序,部署方便,不用像java那样装JDK,装tomcat等等,go写好的程序直接打包成一个二进制文件,扔到服务器任何一个目录下执行就完成了,甚至连nginx都不用安装,这么多优点,怎么可能不用

这太爽了,这实在是太爽了,当然我们现在是用了nginx的,主要是接口服务不想对外暴露,而且也要做反向代理。但是有那能力不用和没有,是两码事

所以,最后决定用go作我们的后端语言,而且go最火的web框架gin并没有用,因为mvc的功能没有go的另一个web框架iris的好,所以最后我们选择了 iris ,这当然也是一个非常了用的框架

所以后端用go语言,web框架用 iris

2 前端技术选型

前端技术也是我定的,虽然我是写后端的,但是那个时候水手还没加入呢,所以哪个简单选哪个 当然是react, vue 中选一个了,但是vue好像入门更简单些,就选了vue

后来水手加入以后还抱怨,这谁选的vue,因为水手更喜欢react,但是没办法,总不能推倒重来吧,谁让你不早点来。哈哈,只能入坑了。 当然并不是说vue不好,只是因为我当时想选个对于我来说简单点的。

但是vuereact都是单页面程序,技术社区是要百度收录的,又是百度,人家google都支持单页面收录了,就百度不支持,没办法只能做服务端渲染了,也就是 SSR

  1. 回到60年代,服务端套模板 我负责后端啊,打死我也不想这样,不能,所以坚决pass掉了
  2. nuxt,这是vue生态的,node做服务端渲染 好像没得选了,只能选这个了

3 数据库的选型

像大多数公司一样,数据库的选择,那就是mysql,开源免费又用的人多,出了问题也好解决,听说mysql 8.0 性能比之前的5.0提高了1倍,也不知道是不是真的,反正新项目用最新的就是了

不过在选 mysql之前,是考虑过 postgresql

个人觉得这个postgresql要比mysql的性能好,一直想用这个 只是运维大哥不让用,因为他只会mysql但是给的理由是:mysql出问题了好解决,用的人多,解决方案多。哈哈。。。。好吧,听大哥的没错

4 APP的技术选型

一句话,flutter,我们可没有那么多人,那么多精力,所以找一套跨平台的框架是最适合的了。在研究了flutter之后,觉得会有点坑,但是应该能解决,影响不是太大

所以果然用flutter写了。

以上就是helloworld.net的PC网站,后端,前端,APP的技术选型,有其它的疑问的话可以加我微信 daitukeji 交流技术,也欢迎加入我们的helloworld官方技术交流微信群

在这里,helloworld技术团队谢谢大家的关心和支持,我们会继续努力,继续优化,推出更多我的功能,为我们的技术人的成长贡献一份力

最后送给大家一句话: 不忘初心,未来可期

我的微信: daitukeji

以及一张我在家的 helloworld的办公环境照片

helloworld.net的建站故事与技术选型

收藏
评论区