热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我为什么要开发一个Marsjava

前言众所周知,在java界有一个框架霸占了市场很多年,可以说30岁以下的程序员基本就是学着它从一个菜鸟变成老鸟的(
前言

众所周知,在java界 有一个框架霸占了市场很多年,可以说30岁以下的程序员基本就是学着它 从一个菜鸟变成老鸟的(老了的老 O(∩_∩)O哈哈~)  而且这个框架经过了这么多年的发展可以说他已经变成了一个应用层的操作系统了,然后在这个平台上运行着各种app(只是类比,希望可以正确理解这句话),它的生态是非常强大的,可以解决你的一切问题,跟这样的一个框架抢市场 无异于以卵击石。

但是这种情况只存在于后端,前端相对就开放,前卫很多,从一开始的原生js 到后来的jquery,再到后来的bootstrap,然后出现了 AngularJS,React,vue.js等,一直都在不断的变化,从没出现一直被一个框架霸占市场的情况,前端开发也变得有很多选项,我一直在想这到底是什么原因造成的,但是我想不到原因。

想法

所以,我想,让后端也能跟前端一样,出现各种选项,虽然现在有jfinal,Vert.x,play等框架,但是都没形成体系,而且基本都是走小型化,快速开发道路的,并且大家开发后端依然是首选Spring,这些小框架基本没什么市场,只能存在于一些需要快速开发的场景下。所以,我希望出现一个可以在企业级开发这个场景下的另一个选项,就算这个选项是一只鸡蛋,我也要砸的这块石头满身的蛋清,后端不能继续保守下去了,要向前端学习,开放起来。

个人力量有限

一个人的力量毕竟有限,所以我只能提供一个内核,不过这个内核已经覆盖了Springboot常用的大部分功能了,现在缺的是大量的实战检验,让它成熟起来,以及各种生态(比如 支持kafka,ActiveMQ等)

希望可以吸引到一些志同道合的人加入进来吧,一起开发和维护

官网地址:http://mars-framework.com/

补充一点

经常有人说Mars-java跟Springboot同质化严重,所以我也说说我的看法吧

  • 这个问题其实很无奈,不管是什么框架都是对java语言的封装, 如果想把对象都管理起来,并绑定一些功能(比如aop,事务管理,定时任务等) 那么目前能解决的就只有ioc了,因为new出来的对象 是脱离框架管控的。
  • 其他像什么启动,配置之类的,java好像就只有main这个入口,就算有别的入口那也是换汤不换药,一样是用命令启动jar包。配置也一样,要么就是yml,要么就是xml,属性文件,json等,又或者跟那些宣称没配置的框架一样用类来配置
  • 这些东西很无奈的,就像呼吸一样,是无法改变的基础,就像电脑都是屏幕,键盘,鼠标组成,除非创造一个新的语言,不过同质化不一定会带来一模一样的体验
  • 比如android和ios,spring就像android 很开放,生态很强,什么都能做,但同时也带来了一个问题,功能太多,扩展太强导致有点杂乱,因为要适配太多的东西,而我想做的是一个ios,很好用的封闭生态(封闭不代表“闭关锁国”,ios的appStore也是开放给全球开发者的)。
  • Springboot确实很好用,但是开发者需要思考 持久层框架用什么,分布式中间件是用dubbo还是spring cloud等各种问题,而我的愿景是,让开发者专注在开发上,而不是选型上,只要是选了Mars-java,就像是买了一台imac回家,打开,插上电源用就是了
  • 不过现在还很早,说这些可能有些人就当笑话看看,不过没关系,我只是把我的想法发表出来,希望可以吸引到一些志同道合的人加入吧

推荐阅读
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 在React中使用setState时遇到错误,本文将详细分析错误原因并提供解决方案。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • JUC并发编程——线程的基本方法使用
    目录一、线程名称设置和获取二、线程的sleep()三、线程的interrupt四、join()五、yield()六、wait(),notify(),notifyAll( ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • 本文探讨了如何在游戏启动画面中移除广告,特别是在游戏数据加载期间(大约5-6秒)广告会短暂显示的问题。通过调整XML布局和代码逻辑,可以实现广告的延迟加载或完全移除。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
author-avatar
手机用户2502857113
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有