V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gilgameshcc
V2EX  ›  程序员

早期创业团队的 web 技术栈选择 Java vs Elixir

  •  3
     
  •   gilgameshcc · 2020-05-24 15:16:30 +08:00 · 11603 次点击
    这是一个创建于 1432 天前的主题,其中的信息可能已经有所发展或是发生改变。

    基础介绍

    至最开始在 v 站提出那个学术开源社区的创意已经快半年了,中间虽然经历了疫情有一些影响。但是多数事务的推进都问题不大,我们已经确定了未来的版本线,当前版本的设计(产品形态类似于 github ),以及百分之九十的前端开发( vue nuxt )加上后端主要 git 模块的开发( go 实际上主要魔改自 gitea ),同时运营侧,融资侧等也都有适当的进展。

    主要问题

    现在遇到了一个有点纠结的问题,就是 web 层(主要是 api 那部分)用什么技术栈来做(目前后端团队人数较少只有四人,且且远程工作)。候选有 Java 和 Elixir:

    • Java 的好处主要在于足够成熟足够全面,同时受众广泛,毕竟是目前国内用的最多的语言。缺点在于可能有些过于繁琐,开发效率低。
    • Elixir 好处在于确实非常合适应用场景,性能好,同时由于宏的关系开发效率也很不错。缺点是过于小众,导致我们非常担心之后团队扩张会遇到压力,以及学习成本比较高,和通常的 OO 语言差别不小,有点概率学会的意思。

    不知道大家怎么考虑这个问题,求建议建议~~~
    (顺便我们收 web 后端方向 java 和 elixir 的简历,如果有可能考虑很小的创业公司的话,需要熟悉 git 及 github 同时对学术信息开源及开源社区感兴趣。可以发简历给我们 邮箱: [email protected]

    展望

    我们的初版应该不久就能上线了,希望对学术开源感兴趣的话能够持续关注我们,未来我们会寻求更多的小伙伴,包括开发,产品,运营,等方向。

    116 条回复    2020-07-13 14:08:41 +08:00
    1  2  
    micean
        101
    micean  
       2020-05-25 12:38:34 +08:00
    通常情况下,开发效率跟语言没有一毛钱关系,只看轮子好不好用
    选 Elixir 真的以后招人是大问题(就算你开发团队稳定不离职),小项目自己玩好了,公司正式项目做大之后难道又要换语言重写一次?
    Narcissu5
        102
    Narcissu5  
       2020-05-25 13:20:06 +08:00
    Python 可以帮你撑到 B 轮,Java 可以撑到 C 轮

    elixir 。。。。
    gemini767
        103
    gemini767  
       2020-05-25 13:42:10 +08:00
    过早优化是万恶之源,不限于技术行业

    能快速拿到数据的才是选择依据,管他是什么语言,
    shimmerh
        104
    shimmerh  
       2020-05-25 13:47:39 +08:00
    建议学习 python
    gotonull
        105
    gotonull  
       2020-05-25 13:52:28 +08:00
    golang ?
    Bluecoda
        106
    Bluecoda  
       2020-05-25 14:07:41 +08:00
    我觉得 java golang 这些都是干活语言,毫无乐趣。elixir 是自我成长语言,elixir/erlang 的一整套东西都是别的语言不具备的。
    前年我们用 elixir 做了个项目,一直维护到现在,很稳定。
    现在的新项目也有些需求比如 websocket,在考虑到 ruby 的并发能力并不强之后我们用 elixir 做了这部分的功能。没有用 phoneix 这种框架,websocket 用 cowboy 自己开 gen server 手写,稳定性,并发能力都很不错。

    你需要考虑的是,团队对于 elixir 的热情如何?团队的学习能力如何?短时间能用新工具干活的能力如何?团队是什么类型的团队?比如团队每个人自学习能力很一般,一年学不到一个新语言,比较爱跟风(比如 golang ),非常 old school,又或者沉溺于 golang/java 这种不可自拔的,我建议还是不要用 elixir 了,不适合。
    scottming
        107
    scottming  
       2020-05-25 15:49:33 +08:00
    我司的学堂项目「开智学堂」也是基于 git 的,git 服务是主要依赖 gitPython,web 服务用的 Elixir 下的 Absinthe + Phoenix + Ecto 这一套,近期上线的产品「写匠」 web 服务也是这一套框架。

    Java 我没用过,Python 下的 Django 和 Flask 都用过,我只能跟你说 Elixir 做 web 开发效率极高。这两个项目基本上都是我一个后端对 2-3 个前端。
    daya
        108
    daya  
       2020-05-25 22:17:21 +08:00 via iPhone
    @iv2ex 那个项目的一期是不是一家叫易邦龙的公司做的?
    dbskcnc
        109
    dbskcnc  
       2020-05-25 22:55:22 +08:00 via Android
    souths
        110
    souths  
       2020-05-25 23:41:31 +08:00
    用主流的
    jjshare
        111
    jjshare  
       2020-05-26 03:35:29 +08:00
    学术社区类创业项目,无脑 PHP,现有的开源程序,稍微改动一下就足够项目上线了
    legiorange
        112
    legiorange  
       2020-05-26 06:21:43 +08:00
    Elixir 在我眼里和 serveless 那一套写法差不多。Elixir 的开发效率相比 java 好很多,应聘的时候基本没有人会考虑再学一门语言,而且这门语言和 julia ( MIT )都属于小众语言,考虑国内市场变化学习的价值可能不大。如果你想成为代码托管商,并且使用了 gitea 作为魔改的代码库,你可能自己需要实现 oauth 、saml 等认证方式,社交媒体的登陆模式,有一个很关键的问题是你如何保证数据安全?
    zh5e
        113
    zh5e  
       2020-05-26 09:18:33 +08:00
    去 java - -
    后端 go 使用 gin 和 gorm,开发效率很快,web 使用 vue
    虽然不太喜欢 go 的包跟路径强关联,没有重载,没有多态,没有模版
    iv2ex
        114
    iv2ex  
       2020-05-26 09:35:08 +08:00
    @daya #108 嗯。这公司跟那甲方关系很好啊
    lostpupil
        115
    lostpupil  
       2020-05-27 17:54:20 +08:00
    害,用微服务,用啥语言都行。
    不过 Elixir 肯定首推。
    gilgameshcc
        116
    gilgameshcc  
    OP
       2020-07-13 14:08:41 +08:00
    我们有了一些新进展,再次宣传一下~~~
    欢迎有兴趣的小伙伴加入我们
    https://www.v2ex.com/t/689364
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1068 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:24 · PVG 03:24 · LAX 12:24 · JFK 15:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.