103
speedofstephen 2019-09-05 08:23:13 +08:00
部分同意, 但是 SpringIOC 那种对象管理自己实现感觉坑很多啊
|
104
kevindu 2019-09-05 08:30:56 +08:00
我最近在用 Rails,觉得真 tm 好用,全是现成的轮子,虽然有的根本用不上,但是想要用的都集成进来了,比 Python 的 Flask 好用不知道多少倍
|
106
aa6563679 2019-09-05 08:38:31 +08:00 via iPhone
事务怎么办?事务传播怎么办
|
107
saltedFish666 2019-09-05 08:43:20 +08:00
框架这个本来就是为了更快的开发,既然没有多少效率提高,那用于不用没有什么特别的区别,可以选择用
|
108
wweir 2019-09-05 08:51:09 +08:00 via Android
公司人员实力够的话,没必要用框架了。
但如果一堆刚毕业及能力与之相近的人,不用框架,怕是代码风格都能恶心死人,更别说很多边边角角需要注意的地方了 |
109
LuckyKoala 2019-09-05 09:18:12 +08:00 via Android
个人项目可以随意折腾,公司项目不会给时间自己摸索着实现基础功能的,一般会选择在成熟框架之上接着开发。
|
110
annielong 2019-09-05 09:20:56 +08:00
看项目的复杂度了,简单的用不用都行,如果是大型的一般还是会用框架的
|
111
zjttfs 2019-09-05 09:21:02 +08:00
如果 web 站不做 seo 搜录么? 那 json 就不行了. 还是得后端渲染,所以说了那么多 没用...
|
112
ilaipi 2019-09-05 09:23:53 +08:00
当初 Spring 解决的是什么问题呢?
你真的想回到自己到处 new 各种 instance 的操作吗?配置参数都自己去通过 Properties 去加载? |
113
encro 2019-09-05 09:27:29 +08:00
React、Angular、Vue 也是框架
就拿 session 来说,框架可以让你改一个配置,实现将 session 存放位置在数据库,文件,内存,redis 等切换,你不用实现自己的 session handler gin 框架那么多中间件,很多都非常有用,哪怕一个简单的 c.JSON()都让你代码节省很多,理解更加容易很多。 框架是一种约定,有了这个约定大家行为一致,代码编写和理解浏览效率提升,这时候框架如同法律,想象下,没有法律的世界,最终会乱成什么样? 框架是一组已经测试好的工具,放弃框架就等于让农民放弃机械化使用手工作业,使用联合收割机的农名一天可以收割几百亩田地,使用镰刀的农名一天辛辛苦苦收割半亩田地。 |
114
chen2019 2019-09-05 09:29:23 +08:00
你公司就你一个开发就想干啥就干啥吧,框架当然可以不用.
但是基于你的问题,我只是不明白 前端为啥要用 React、Angular、Vue 用原生的不就好了吗?? |
115
nnnToTnnn 2019-09-05 09:30:08 +08:00
大佬,React、Angular、Vue 也属于框架啊,而且还有很多,我觉得你对框架是否有很大的误解?
|
116
wellR 2019-09-05 09:33:07 +08:00
你可以不用现下流行的框架,最终你自己集合第三方库整的那套就是框架
|
117
chen2019 2019-09-05 09:34:14 +08:00
补充下
其实就算是 java golang php 从本质上说也可以理解为是 C 的一个框架,那么你为啥不直接用 C 呢,而 C 从本质上说可以说是二进制码的框架,那直接用二进制码不是更好? |
119
nnnToTnnn 2019-09-05 09:44:53 +08:00
回答你第一个问题
``` 关于返回 全部都返回 json,而不返回 html,因为前端 React、Angular、Vue 已经很成熟了,静态资源全走 CDN ``` > 我从来不知道哪个 web 是可以不用返回 HTML 的? 就算是 Adobe 的 Flash 也需要 html 来进行加载,你说的 React、Angular、Vue 更加不同谈,完全就是 html+js+css ( PS: 不了解你去看看 webpack 的说明) 第二个问题 ``` 数据库操作?这个和框架无关,不用框架也能拿来用 ``` > 来来来,你写一个 jdbc 试试? 如果是 java 你用的 jdbc 来操作数据库,jdbc 本来就是一个框架,如果不用框架,你得自己去通过对每个数据库的协议来进行开发,这个工作量远远大于你开发项目的工作量 第三个问题 ``` 用户鉴权以及 session 相关?很简单就是个 key-value 读写 ``` > 那单点登入? 或者说你用户鉴权的安全性如何考虑? 和 csdn 一样明文存储密码? 直接采用序列号生成 SESSION ? 如果你这个项目能上互联网,算我输,渗透测试就把你打回去了 框架: 软件框架,是软件开发过程中提取软件的共性部分形成的体系结构。框架不是现成可用的应用系统,而是一个半成品,是一个提供了诸多服务,供开发人员进行二次开发,实现具体功能的程序实体。 组件: 组件是封装了一个或多个程序模块的实体。组件强调的是封装,利用接口进行交互。组件也称为构建。插件是组件的一个子类,就是将组件中具有某些特点的组件归为插件。 ----------------------------------------------------------------------------------------------------------- PS 让我猜猜 楼主估计只是工作一两年的萌新,估计连 React、Angular、Vue 等前端的基础理念都没搞清楚,也没搞清楚框架 /组件的区别。 更加别谈后台的分布式事务,微服务,线程池,并发,等等这些概念了。 当然,你们公司只是做一个 github page,那当我没说 ---------------------------------------------------------------------------------------------------------------- 不会就要学,没有接触过,深度了解过,没有资格去发表自己的评判,一个不了解 React 和框架 /组件概念的人 去评判是否能够用,怎么我觉得很可笑 |
120
shawshi 2019-09-05 09:45:06 +08:00
除了 Servlet,Filter 要么?
|
121
nnnToTnnn 2019-09-05 09:52:28 +08:00
而且,说句比较让你大脑清楚的事情
1. java 2. golang 3. php -------------------------- 4. html 5. js 6. css 这些都是一般搞汇编的人搞了个 GCC 编译器导致一帮搞 C/C++的屌人,搞出来的框架。 如果你不想用框架, 请写汇编,对接系统的网络编程函数。 |
122
nnnToTnnn 2019-09-05 09:53:29 +08:00
@nnnToTnnn 又想起来了,搞汇编的人,又是搞二进制的人搞出来的,如果你想要不用框架得去写 01010101 这种
|
123
nnnToTnnn 2019-09-05 09:57:25 +08:00
@ilaipi spring 解决的只是 ejb 的一种轻量级的替代方案,之后才发展壮大。ioc and aop 这些都并不是必须的,没有这些一样可以编程,只不过需要自己用单例模式去管理生命周期,用 hook 来做面向切片编程,最早微软就是这种做的。
|
124
falcon05 2019-09-05 10:08:27 +08:00 via iPhone
是的,需要框架
|
125
felixLv 2019-09-05 10:09:13 +08:00
前端不是 web 开发吗?那你为何还要用 vue,react 啊?那你怎么不去写原生
|
126
583376938 2019-09-05 10:12:50 +08:00
好问题
|
127
xomix 2019-09-05 10:13:04 +08:00
框架提供了什么我跟你一点一点说:
1、可自由更换的仓储层,高级框架提供仓储层迁移服务(数据库随便用什么都行,想换还有专门的迁移程序) 2、缓存层,同上。 3、对微服务提供快速布置的虚拟化层,提供服务发现和服务注册。 4、提供 RPC 框架,方便协同开发或未来的第三方调用。 我暂时想到这么多,也不想继续花时间补充再想了。中小型企业开发当然用不上这些,但是并不是这些技术都是无用的不是吗? |
128
daguaochengtang 2019-09-05 10:20:30 +08:00
> 因为前端 React、Angular、Vue 已经很成熟了
你看,你自己说的这 3 个旧市前端 3 大框架 |
129
zjsxwc OP |
130
tairan2006 2019-09-05 10:30:50 +08:00
golang 确实可以不用框架,java 不用框架你是在逗我么
|
131
JerryCha 2019-09-05 10:34:57 +08:00
前端还觉得你们只要 JavaScript 就够了
|
132
miniwade514 2019-09-05 10:35:16 +08:00 via iPhone
送你六字符真言:......
|
133
james122333 2019-09-05 10:40:20 +08:00
还是要阿 要规范 要的是极轻量框架 现今许多框架都太肿了
|
134
dk7952638 2019-09-05 10:46:30 +08:00
这种问题一开始我还是不厌其烦的告诉新人或实习生框架的意义,现在我直接就告诉他们没有为什么,公司强制要用,不会就学,感觉棒极了
|
135
ninjachen 2019-09-05 10:53:17 +08:00 via Android
假如你是名 100x 程序员,或者公司业务很小,个人的话其实无所谓。
但商业软件产品需要很多人协力完成的 |
136
haloha 2019-09-05 10:57:01 +08:00
一个人开发爱用啥用啥 你去公司的话不用框架公司也不会要你
|
137
Augi 2019-09-05 10:57:35 +08:00
框架是为了更多的是为了规范吧,确实不一定能带来好的效果,但是如果是长期迭代的大型项目,如果不用框架,那么后期的人员变动和维护是不是有点难,如果不难,说明你们没用被人的框架,自己潜移默化的搞了一个团队适应的框架而已。
|
138
wsy190 2019-09-05 11:18:05 +08:00
话说不用视图层框架,参数是不是还得从 request 中获取。
|
139
jsjscool 2019-09-05 11:40:02 +08:00
按照这种说法就不该有软件工程这门专业,更不应该有设计模式这种理论。编程编累了可以看一下软件工程的历史,为什么会出现。
|
140
xpresslink 2019-09-05 11:44:38 +08:00
@nekoyaki 开发要是用汇编语言那就太 low 逼了,大牛都是直接用机器码
|
141
hafuhafu 2019-09-05 11:50:56 +08:00
不用框架不就意味着自己造轮子吗?造的轮子质量未必还有别人的好。
|
142
yuhr123 2019-09-05 12:16:31 +08:00
并不是所有 web 需求都要通过 react、vue、angular 去做,大多数项目直接用 Django、Rails、Laravel 可以非常快的实现需求,实效性项目基本离不开后端框架。
|
143
bridgeca0 2019-09-05 14:25:50 +08:00
又有人要从沙子做 cpu 开始了吗
|
146
nikandaoleshenme 2019-09-05 17:57:16 +08:00
@bridgeca0 能提炼出高纯度硅的技术, 还写个球子代码,卖专利去 [滑稽]
|
147
echisan 2019-09-05 20:11:58 +08:00 via iPhone
我建议前端直接操作数据库
|
148
MotherShip 2019-09-06 00:37:59 +08:00
赶紧水深火热嗷
—————————————————————————————————— java 只用 servlet 完全没问题,最简单的,你先写一套工具把请求里的 JSON 自动装配成 Java 对象解决了,要求对业务代码无侵入哦,还要能读取 properties/yml 配置来设置下划线转驼峰,思考一下该怎么做呗—— 然后 servlet 你应该知道是线程不安全的吧,现在某些业务里的一些类要做原型模式,每个请求都要做实例化,要求是只在类上加注解就行,去实现吧—— 然后手动配 web.xml 里的 servlet 路由,然后部署到 web 容器再启动是不是太麻烦了呢?当然还是得上注解, 根据注解的值自动配置每个 servlet 的路由,然后记得把容器嵌进来哦,打 jar 包就能运行的那种—— —————————————————————————————————— 数据库操作?这个和框架无关,不用框架也能拿来用 那请封一个 crud util,要求和 mybatis-plus 一样,先自动生成实体类,然后用实体类 get/set 方法引用指代大部分基本字段,还要能读取实体类的注解来自动处理逻辑删除和乐观锁,最后要用带泛型的 basemapper 类封装 crud 操作,当然性能不能比 mybatis 差吧—— 一定要灵活,最好能用方法调用解决表关联的问题,要是能自动扫描索引并且优化 SQL 就太棒了呢—— 我们还有 MongoDB 呢,顺带请您做一个抽象层吧!一定也不难对不对—— 哦对,注解式事务也是框架相关,也实现一下吧,顺便做一下完整的 AOP 呗,AspectJ 要专门的编译器当然不行,看看 JDK 动态代理怎么做的吧,当然我们虽然不用专门的编译器,但是你得在注解里支持 AspectJ 的语法哦,顺带写个 IDEA 插件支持一下你注解的语法高亮吧—— —————————————————————————————————— 用户鉴权以及 session 相关?很简单就是个 key-value 读写 那请您来做一个类似于 Spring Security 的框架,顺便实现一下 OAuth 呗,顺带我这业务可能要变动,可能要接多种登录方式,账号密码登录,手机验证码登录,微信 openid 登录,session 要支持多种持久化方式,同样是用注解支持配置权限哦—— —————————————————————————————————— 这些是单机应用的问题,接下来做 rpc 调用了 我们写业务的最多只能做到用注解标明这个函数是远程的,剩下的你当然都会帮我们做了对不对?访问注册中心,然后用动态代理去做实际的远程调用,再封装结果,封装异常给我们,这个你想想咋做呗,应该也不难—— 分布式事务你一定能随手搞定吧?也要加注解就能做哦—— —————————————————————————————————— 顺带抛出异常一定要简单易懂,我知道咱们自己封的异常谷歌肯定搜不到,那每个异常给出可能出的问题中文说明不过分吧—— 哦对,以上都不算工时不计绩效哦,毕竟是你自己提出要自己写代码抛弃框架的嘛,自己晚上加加班吧,半个月内差不多能出活吧—— 出 bug 倒扣钱,耽误其他人出活当然得承担后果咯—— 然后文档要详细,注释要详细,后来人看不懂哪怕你离职了也有义务解答,不然分分秒扔掉你的代码用开源框架重构哦—— —————————————————————————————————— 做完了是吧? 还没出 bug ?? 真的?? 我操 牛逼 你已经吊着 SpringSource 的所有程序员打了 你已经做出了一大套框架 整理整理开源然后等着猎头挖你去国外养老吧 |
150
Rashford 2019-09-06 11:14:30 +08:00
关键这样做有什么意义呢,不是浪费精力又浪费时间吗?
|
151
Rashford 2019-09-06 11:16:33 +08:00
当然,那种"练手"的项目就不要讨论了,自己想怎么写都行。企业会有这么荒唐的开发模式?现在什么年代了
|
152
cooooler 2019-09-06 15:12:26 +08:00
是不是编辑器也要用命令行的才能显示出来你牛逼
|
153
wh1012023498 2019-09-09 21:44:30 +08:00
== 我就知道这样的蠢问题 会有很多人评论。。笑笑不说话。。
|
154
tctc4869 2021-06-21 11:23:18 +08:00
楼主发的内容让我觉得楼主对框架的认知运用很有问题。
|