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
用了管道的方式,让人理解上更顺其自然了,写并发更容易了,而且是语言层面上的。
go
写web
也很强,自带的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
不好,只是因为我当时想选个对于我来说简单点的。
但是vue
,react
都是单页面程序,技术社区是要百度收录的,又是百度,人家google都支持单页面收录了,就百度不支持,没办法只能做服务端渲染了,也就是 SSR
- 回到60年代,服务端套模板 我负责后端啊,打死我也不想这样,不能,所以坚决pass掉了
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的办公环境照片