2022 年,开新项目用什么技术栈比较好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
mmdsun
V2EX    程序员

2022 年,开新项目用什么技术栈比较好?

  •  2
     
  •   mmdsun 2022 年 2 月 10 日 11371 次点击
    这是一个创建于 1436 天前的主题,其中的信息可能已经有所发展或是发生改变。

    分享一下你常用的编程语言,以及主流的技术栈和框架吧。语言不限。 前端、后台、移动端都可以说说看。

    [后台] Java 微服务

    目前:Spring Cloud Netflix + Spring Session + Spring Security + Mybatis , 数据库:Mysql

    未来:Spring Cloud(?) + Spring Webflux + Spring Security OAuth2 + R2DBC ,数据库:PostgreSQL

    由于 Netflix 很早进入维护模式了,这里想问一下是更换其他 Spring Cloud 组件,还是换 Spring Cloud Alibaba 全家桶?(据说比较坑,而且支持版本很低??)

    Spring 也提供了一份迁移的指南: https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now#spring-cloud-netflix-projects-entering-maintenance-mode

    [前端] 我平时写接口,前端写的少。 估计是 Element + Vue3 + Typescript 这里想问下,有没有什么前端框架和 Spring Webflux 配合比较好的? 比如处理一些 EventSource 、Server-sent Events 比较方便的框架。

    [移动端] Android 做的不是很多,Android 大概会用 Jetpack Compose,Kotlin 语言

    紧跟 Google 架构指南(最近好像又有更新) https://developer.android.google.cn/jetpack/guide

    iOS 之前用 Xamarin 开发过一款软件。现在一直没开发过 iOS ,不太清楚最新的技术栈是什么。

    [ PC 端]

    之前做了一两款 PC 软件用的 Winform ,WPF 框架。也尝试过 WinUi 现在好像 Electron 比较火,不过性能不太好。也没确定以后用什么技术开发 Win 应用。。

    貌似现在微软推荐 WebView2? https://developer.microsoft.com/zh-cn/windows/

    53 条回复    2024-10-01 12:39:52 +08:00
    hatsuyuki
        1
    hatsuyuki  
       2022 年 2 月 10 日   1
    PC 端我考虑 JetBrains 的 Compose for Desktop https://www.jetbrains.com/zh-cn/lp/compose-desktop/
    hatsuyuki
        2
    hatsuyuki  
       2022 年 2 月 10 日
    wizzer
        3
    wizzer  
       2022 年 2 月 10 日
    cosmtrek
        4
    cosmtrek  
       2022 年 2 月 10 日
    个人 Web 项目我用 Vue 3 + Typescript + Go + Postgres
    mmdsun
        5
    mmdsun  
    OP
       2022 年 2 月 10 日
    @cosmtrek 谢谢。请问现在 go 微服务有没有什么推荐的框架?以前只用过 go-micro 其他的没有尝试过了
    duke807
        6
    duke807  
       2022 年 2 月 10 日 via Android   3
    後端 python ( cgi 或 ws );
    web 前端、移端 android & ios app (首 pwa 其次 cordova )、pc 端用程序:全部 h5 搞定(全部只用 vanilla js )
    3dwelcome
        7
    3dwelcome  
       2022 年 2 月 10 日   1
    今年我打算用 webasm 写后端微服务,感觉特别适合做热插件。

    前端的话,等有时间上 webgl 试试,边学边用,应该是未来的趋势。
    knightdf
        8
    knightdf  
       2022 年 2 月 10 日
    为啥要用微服务?如果是公司的项目你这要做的也太多了, 一个人全包了?
    mmdsun
        9
    mmdsun  
    OP
       2022 年 2 月 10 日
    @knightdf 很多不是公司的,摸鱼项目
    xiaoriri666
        10
    xiaoriri666  
       2022 年 2 月 10 日   1
    @mmdsun go-zero
    mmdsun
        11
    mmdsun  
    OP
       2022 年 2 月 10 日
    @3dwelcome 和你相反之前用过 webasm 写 web 页面,用的 Blazor ,试了试 Ant Design Blazor 。不过都是写的 demo 还没怎么用过。
    littlewing
        12
    littlewing  
       2022 年 2 月 10 日
    rust
    tanxnative
        13
    tanxnative  
       2022 年 2 月 10 日
    可以看看比较新的技术
    grpc web-->istio gateway--> grpc-->mongodb
    cosmtrek
        14
    cosmtrek  
       2022 年 2 月 10 日   1
    @mmdsun 个人项目就不要考虑微服务框架了,很费事。就单体应用打包好镜像运行在 k8s 上
    dcsuibian
        15
    dcsuibian  
       2022 年 2 月 10 日   1
    后端,精力有限。

    第一语言 java ,第二语言 js ,自己就能开发 Web 应用了。



    目前在用:Vue2 + Ant Design + Spring Boot + SQL Server/MySQL

    新项目用:React + TypeScript + Spring Boot + PostgreSQL

    (对于小项目完全够用,奥卡姆剃刀)



    看需要的话:Ant Design 、umijs 、Nginx 、Docker 、RabbitMQ 、WebSocket

    设计:Figma
    RainCats     16
    RainCats  
       2022 年 2 月 10 日
    新公司大改造:所有项目整合资源,上了微服务,用的 SpringCloudAlibaba
    xiaoriri666
        17
    xiaoriri666  
       2022 年 2 月 10 日
    PHP 永远的神
    wangxn
        18
    wangxn  
       2022 年 2 月 10 日
    后端:Go+PostgreSQL
    桌面 /移动端:Flutter
    hccsoul
        19
    hccsoul  
       2022 年 2 月 10 日
    单体项目 springboot 感觉够用 ,cloud 没啥必要
    7gugu
        20
    7gugu  
       2022 年 2 月 10 日
    HTML+CSS+DIV+JS+PHP 就够用了,用框架就是给自己找麻烦,能解决问题,同事能看懂就行了。
    ql562482472
        21
    ql562482472  
       2022 年 2 月 10 日
    springboot+kubernetes 体系即可 springCloud 还是重
    zhennann
        22
    zhennann  
       2022 年 2 月 10 日   1
    如果不介意用 JS 语言的话,可以考虑 CabloyJS 全栈开源框架
    1 、前端:Vue2 、Framework7 UI 界面组件库
    2 、后端:Egg2
    3 、其他:Redis 、MySQL

    CabloyJS 包含大量组件和特性,将“开箱即用”和“定制开发”有机结合,这里仅列举几个核心特性:
    1 、首创 pc=mobile+pad 自适应布局,一套代码同时支持 pc 端和移动端运行。移动端是真正的原生体验,不是市面上常见的 media query 那种机制。因此,可以跨多端运行:PC 、Andriod 、IOS 、微信公众号、钉钉应用,等等
    2 、内置 NodeJS 工作流引擎,因此除了可以快速创建 CRUD 、权限系统之外,还可以快速搭建审批工作流
    3 、原生支持分布式架构,从而支持集群部署
    4 、CabloyJS 同样也实现了“依赖反转”的容器编程,不过采用的是“依赖查找”策略

    演示: https://test.cabloy.com/ (可以分别在 pc 端和移动端体验 pc=mobile+pad 自适应布局,可以称得上“耳目一新”的体验)
    文档: https://cabloy.com/ (足够丰富)
    wobuhuicode
        23
    wobuhuicode  
       2022 年 2 月 10 日
    最近新写的 APP 用 flutter ,改一下(其实很多)的样式也兼容桌面版本。
    akagishigeru
        24
    akagishigeru  
       2022 年 2 月 10 日
    PHP + Vue 做 web 神一样的组合
    shiganwuguo
        25
    shiganwuguo  
       2022 年 2 月 10 日 via Android
    没有 dotnet 一把梭的吗
    HarryYu
        26
    HarryYu  
       2022 年 2 月 10 日   3
    前端:CRA + TS -> Vercel 托管
    后端:Nest.js + TS + PostgreSQL + Prisma + Redis

    是我目前在用的。偏静态的官网或者展示型的网站,前端首选 Next.js 。但是复杂点的中后台或者 Web 应用,Next.js 有时候就有坑了,可能需要花点精力解决疑难杂症。CRA 非常成熟,什么都可以用。Vercel yyds ,CDN 和集成做的特别好,绑定域名也很方便,省心。

    后端折腾过 GraphQL Apollo 这些,说实话,爽的地方很爽,遇到点复杂嵌套需求外带权限校验直接 GG 。重构干掉之后,Nest.js 的 CRUD 一把梭,开发效率 300%。Prisma 相比其他开源方案类似 Typeorm 来说,有商业公司支持,更加靠谱优良。PostgreSQL 的 JSONB 爽的飞起,兼具 NoSQL 的特性,还是特别方便的。

    然后全部 JS 、TS 一把梭,招人也方便,性能先堆机器吧。
    bfc
        27
    bfc  
       2022 年 2 月 10 日
    pwa + starlette ,7 天一个 APP
    xtinput
        28
    xtinput  
       2022 年 2 月 10 日
    @hatsuyuki SwiftUI 最低版本是 iOS13 呢
    loshine1992
        29
    loshine1992  
       2022 年 2 月 10 日   1
    Android 原生 Kotlin(Coroutines/serialization),Jetpack(Compose/ViewModel/Room/Hilt/Navigation) 一把梭
    跨端项目(含桌面) Flutter 状态管理 Riverpod
    loginbygoogle
        30
    loginbygoogle  
       2022 年 2 月 10 日
    后端 Node.js 、客户端 Flutter
    hnbcinfo
        31
    hnbcinfo  
       2022 年 2 月 10 日
    6 年.Net 开发狗最近正在尝试:dotnet6+maui+blazor 。目前看,除了小程序,大部分都能搞定。只是 MAUI 控件不够丰富,大部分还是得靠自定义。
    kongkongyzt
        32
    kongkongyzt  
       2022 年 2 月 10 日   2
    作为后台开发, 我现在搞自己的项目基本上很少用各种眼花缭乱的框架了, 项目比较简单的话就写几个 serverless 云函数, 连服务器托管运行都省了. 上了一定复杂度的话就用 grpc+go 的组合, docker+k8s 部署. 服务发现 /注册 /日志追踪 /APM 都下沉到 istio 了, 配置中心都是用的 k8s 自带的.

    业务的代码变得简单干净容易维护, 同时扩缩容特别简单, 业务数据的监控也很全面.
    ob
        33
    ob  
       2022 年 2 月 10 日
    @hatsuyuki #1 链接打不开?
    pengtdyd
        34
    pengtdyd  
       2022 年 2 月 10 日
    技术重要吗,重要的是业务好吧,如果真的要换所谓的高大上的东西,直接换新语言不是更好!
    leafre
        35
    leafre  
       2022 年 2 月 10 日
    Spring Cloud Alibaba + Spring Security OAuth2 + Mysql
    Hanggi
        36
    Hanggi  
       2022 年 2 月 10 日   2
    2022 选比较火的技术栈:
    前后移动端:(Nest.js / Gin / Actix / FastAPI / kotlin spring boot) + (Next.js / Angular / Material UI) + Flutter
    部署:K8s + Docker+ Istio + OPA + Nats + Redis + Postgresql + MongoDB + EFK + Prometheus/Grafana/Kiali + GRPC + Harbor + MinIO + Bazel 全家桶带走。
    bthulu
        37
    bthulu  
       2022 年 2 月 10 日
    如果不介意微软的话, 建议.netcore 一把梭, web 有 cshtml, 安卓有 xamarin, iphone 有 xamarin, mac 有 xamarin, win 桌面有 winform, wpf, xamarin, linux 桌面有 xamarin, web 后台有 asp.netcore, 原生支持依赖注入, grpc, swagger, 前后端即时通信有 SignalR, 从前到后一揽子解决方案, 让你一门语言干掉所有的事
    qfdk
        38
    qfdk  
    PRO
       2022 年 2 月 10 日 via iPhone
    js 一把梭! 前端随意 后端 express. mobile 前端解决了 顺便 desktop 也解决了
    dayeye2006199
        39
    dayeye2006199  
       2022 年 2 月 11 日
    工作都是 java ,个人项目也用 java 吗?不会有 ptsd 吗?

    玩点好玩的 -- ruby + hotwire
    elixir + phoenix
    seven123
        40
    seven123  
       2022 年 2 月 11 日
    最近在玩的

    后端:Python-Fastapi (个人项目小写起来是真的快爽,大项目不推荐)、Go 、Mysql 、PostgreSQL 、Redis 、Spring Boot 、Spring Cloud Alibaba(只是玩玩,没有在个人项目中实际使用)
    前端:Vue 、React 、Nuxt 、tailwindcss 、Element
    设计:Figma 、Blush 、Sketch
    xunxuntj
        41
    xunxuntj  
       2022 年 2 月 11 日
    人生苦短,用 Python
    encro
        42
    encro  
       2022 年 2 月 11 日
    rust webAsemmbly
    SmiteChow
        43
    SmiteChow  
       2022 年 2 月 11 日
    人生苦短,你懂吧.
    mauve
        44
    mauve  
    PRO
       2022 年 2 月 11 日
    决赛圈选手出现了

    JS(TS) 一把梭 or C#一把梭
    TomVista
        45
    TomVista  
       2022 年 2 月 11 日
    react fastify prisma
    jzqsss
        46
    jzqsss  
       2022 年 2 月 11 日
    后台 django 怎么样呢
    lovedebug
        47
    lovedebug  
       2022 年 2 月 11 日
    前台 React, 后台 typescript + nest.js ,也有 java ,c#, go ,整体不限制语言的微服务架构
    ACEonly
        48
    ACEonly  
       2022 年 2 月 11 日
    @wobuhuicode 了 html+css 真得 flutter 反人,至於 dart 和 js 好像,上手很快,有法糖
    kran
        49
    kran  
       2022 年 2 月 11 日 via Android
    个人项目,java8,guice,javalin,nashorn,arangodb

    springboot 那是个人项目用的吗?哈哈
    Rorysky
        50
    Rorysky  
       2022 年 2 月 11 日
    不要作全栈工程师

    不要迷信换新的技术栈可以解决已有的问题
    agagega
        51
    agagega  
       2022 年 2 月 11 日
    几个原则:

    - 个人项目、小团队项目和大公司项目的逻辑完全不同。大厂出于 KPI 和实用考虑,可能会推自己的方案来解决小团队或个人项目里完全不存在的问题,个人用麻烦远多于好处。
    - 全栈的是人而不是语言。前端、后端、移动端会有差别是因为他们要解决的问题本来就不一样,在主流语言都越来越像的今天,新学一门语言写业务不该是什么负担。
    - 倾向原生。跨平台框架对某些项目能降低开发成本,但可能也会带来数不清的坑。很多时候用原生方案是更好的选择。
    - 不要盲目鄙视旧技术。Java 、RDBMS 、前后端不分离,这些东西能长期流行是有原因的,如果你没有更好的理由,选择他们不会犯大错。
    - 如果是个人项目或者小团队项目,战略上不妨保守,但战术上大可以激进,新版本、新特性,或者说原生主推的新框架(比如 SwiftUI ),在开新项目时大胆地上。
    wobuhuicode
        52
    wobuhuicode  
       2022 年 2 月 11 日 via iPhone
    @ACEonly 项目能赚钱,啥都不是难
    qping
        53
    qping  
       2024 年 10 月 1 日 via Android
    @hatsuyuki 像这种自己开发组件容易么,比如想弄个地图或者工作流设计器
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1188 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 17:44 PVG 01:44 LAX 09:44 JFK 12:44
    Do have faith in what you're doing.
    ubao msn 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