跳到主要内容

简介

Luwak是什么

Luwak 是一个专注于数据库操作的中间件,以零代码或低代码的方式替代传统 CRUD 编程。

Luwak 是一个专注于数据库操作的中间件,和 Nginx,MySQL 一样运行在独立的服务器上,对外提供 API 服务。

  • Luwak 是一个零代码引擎,不需要任何代码和配置,就能提供数据库读写的 HTTP API
  • Luwak 也是一个低代码引擎,提供数十行代码完成一个独立小需求的灵活性

与 Java、PHP、Python 等传统的后端编程语言相比,它提供了一个更现代化的方式来操作数据库。通过 Luwak,开发者可以实现更高效、更灵活的数据库操作,同时避免依赖于多种后端编程语言。

为什么要开发 Luwak

在长达20年的编程实践中,我们在不停歇地追求更高效率、更低成本,让企业家的每一分钱都花在刀刃上,让开发者的每一小时都享受编程的乐趣和能力的提升。

我们的创始团队用10+种编程语言交付过商业项目:简洁的Ruby On Rails、冗长的Java、严苛的Rust、所见即所得的PHP,皆有涉猎。充分吸取这些编程语言和框架的优缺点后,我们希望借由Luwak实现下列降本增效的目标:

  • 显著减少Java、PHP等后端工程师的工作量,用零代码、低代码实现业务需求
  • 显著减少产品经理、测试、开发三个角色的沟通需求,用一个岗位取代三个岗位,让产品经理可以参与后端接口开发

我们深知,软件是人类有史以来最复杂的工业门类之一,仅靠Luwak和产品经理,不能100%做出一个ERP或者是外卖平台。但Luwak可以让简单的事情低成本实现。让宝贵的产品经理、开发、测试团队用成熟的协作模式去攻克那些Luwak覆盖不到的场景。

我们的目标是让Luwak在B端产品(如ERP、WMS、MES、CRM)中,减少50%的Java工程师工时。

Luwak 名字的来历

"Luwak"是亚洲森猫的印尼语名称,人们通常叫它麝香猫,这种猫食用咖啡豆并产生猫屎咖啡,这种咖啡被称为是世界上最昂贵的咖啡。

本产品的发起者(覃健祥,也是杭州代码之巅公司创始人),于2015年前往巴厘岛度假时,参观了闻名遐迩的猫屎咖啡工厂,得知麝香猫的英文名叫Luwak。此后又多次前往巴厘岛度假,将Luwak这个名字深深记在了脑海里。

我们希望,通过选择"Luwak"作为我们的产品名称,借用“Luwak Eats Java”的美好寓意,传达出减少后端代码的理念。

Luwak 竞品

竞品定位估值定价优点缺点
Outsystems全栈低代码开发(前端+后端,工作流)43亿美元(高峰时90亿)4000美元/工程师/月可视化- 入门门槛极高 - 前端低代码不好搞,灵活性差
Mendix同outsystems10亿美元被西门子收购同outsystems同outsystems
Retool企业内部工具快速开发平台60亿美元UI组件丰富后端API不通用,仅能实现简单CRUD 前端也只能做简单的列表和表单
AppwriteAPI Server(与Luwak相同)-PaaS模式,29美元/月,按用量开源免费,用PaaS云才收费 人气高,Github有52K Star- 功能过于简单
Supabase同AppWrite,但仅限PostgreSQL数据库10亿美元以上开源免费 89K Star功能过于简单 只支持PostgreSQL DB
Hasura同AppWrite,仅限GraphQL标准10亿美元以上开源免费 32K Star- GraphQL过于灵活,安全性较差
CursorAI编程 IDE(与Luwak IDE竞争)90亿美元针对个人用户:20美元/月万能,什么代码都能写AIGC尚无力生成商业软件 AIGC生成代码的美感、可维护性很差,技术债惊人
Windsurf同Cursor30亿美元同Cursor同Cursor

Luwak 的优点(与竞品相比)

提供最高质量的业务代码超过所有AI编程、可视化编程的对手
代码量最小超过所有AI编程、低代码选手
零代码操作数据库的API最多超过所有AppWrite类的API Server至少100%
通用性强,可用于开发淘宝电商、美团外卖、滴滴打车的核心业务超过钉钉宜搭、Retool等所有定位企业内部管理系统的低代码平台
安全、性能、运维友好性、AI人机协作等工程化能力强与代码质量高、代码规模小共同导致,是有商业价值长生命周期软件的极佳选择

Luwak 与传统 Java 技术栈对比

Luwak内置了所有这些组件,并且是纯Go实现的,没有进程间通信,也没有网络通信。

ComponentJava StackPython StackJavaScript Stack
Web ServerTomcatGunicornExpress / Fastify
JSON DecoderJacksonjson moduleJSON.parse
API GatewayZuulDRFNestJS Gateway
FirewallOpenWAFLuwakHelmet
MVC FrameworkSpring MVCDjango MTVNestJS
Input ValidationHibernate ValidatorDjango ValidatorsClass-validator
RBAC FrameworkShiroGuardianNestJS Guards
ORMHibernateDjango ORMTypeORM
DB PersistenceSpring Data JPADjango ORMTypeORM
DB Connection PoolHikariCPpsycopg2Knex
JS Script EngineNashorn / GraalVMpyv8Native V8
PY Script EngineGraalPyNative CPython-
JSON EncoderJacksonjson moduleJSON.stringify

Luwak 零代码与 Java 代码量对比(电商:新增收货地址)

Java FileLineLuwak
controller/AddressController.java1070
service/AddressService.java90
service/impl/AddressServiceImpl.java560
entity/Address.java970
repository/AddressRepository.java260
dto/AddressRequest.java720
dto/AddressResponse.java750
DatabaseConfig.java780
ShiroConfig.java390
WebConfig.java310
小计5900
Luwak实现:HTTP API名:com.shop.address.add,API参数:{city: Hangzhou, zipcode: 310053…})