杭州龙凤sh419论坛,宁波龙凤花千坊官网地址,杭州喝茶外卖工作室

  • <ul id="8iq2o"><tfoot id="8iq2o"></tfoot></ul>
  • <fieldset id="8iq2o"></fieldset>
  • <fieldset id="8iq2o"><menu id="8iq2o"></menu></fieldset>
    Gitee 官方博客
    • 产品动态
    • 企业案例
    • 项目推荐
    • 关于开源
    • 发现更多
    • 回到 Gitee
    • 产品动态
    • 企业案例
    • 项目推荐
    • 关于开源
    • 发现更多
    • 回到 Gitee

    热门开源Web开发框架推荐

    Gitee
    4 年前发布在 项目推荐
    热门开源Web开发框架推荐-Gitee 官方博客

    程序员圈有这么一句话:“不要重复造轮子” ,这句话也带来许多争议。

    要不要重复造轮子?

    有的人认为这是一种“拿来主义”的傲慢体现,因为你不造自己的轮子,就会缺乏核心技术,由此将一直受限,创新力也大幅度下降,发展空间将会一直被“卡脖子”,从而陷入落后于率先造轮者的步伐;而也有一部分人认为这是一种卓越的工作方式,他们认为并非每个人都能原创出核心的技术,也并非每个程序员都能成为项目的架构师或技术大牛,不重复造轮,而是拿到一个框架,在上面进行二次开发然后拿来去用,学习过程中也提高了效率,这不是什么不屑一顾的事。

    本周的主题并非是不鼓励自主创新,而是推崇自主创新,毕竟只有自主创新才能创造出属于自己的技术,才能提前避免一些风险,对抗现实世界的变化带来的动荡与不安,提高抗风险能力?!安灰馗丛炻肿印辈⒉皇鞘视煤诵募际鹾涂瞻琢煊?,这方面还是鼓励与支持“造轮”一说。

    只是时至今日,国内的软件行业已然不同于过往的空白期,为了在更快的时间内进步,我们需要快速学习造轮子的套路?;痪浠八?, “站在巨人的肩膀上会让你事半功倍” 。如果你遇到问题,可以尝试这样一个角度:不要只想着自己从头搞定,先去看看有没有前人经验,看看是否有什么人在什么地方遇到过类似的问题,找到这个人,和对方建立联系获取相关信息,能够帮助你节约非常多的时间来做更重要的事情。

    这其中学习新技术、新框架是十分重要一方面,另一方面就是不能只是简单地学习这些技术、框架是怎么用的,要知其然,还要知其所以然。如果想要开发一套稳定的,容易维护的系统,在使用“轮子”的时候,就需要对轮子有足够的了解。知道这个“轮子”适用于什么样的场景,有什么样的特点、优点,会有什么样缺点。这样才能做到扬长避短,更好地使用轮子。因此今天,我们以此为契机,给大家分享一些优秀的开源 Web 开发框架,在先行者的经验上,一同学习、进步。如果你对“不必重复造轮子”或者下列“ Web 开发框架”项目有更深入的见解,欢迎大家在评论中一同讨论 ??

     Java


    JFinal

    开源许可证: Apache-2.0

    项目作者: JFinal

    项目地址: https://gitee.com/jfinal/jfinal

    推荐原因: JFinal 是一款基于 Java 语言的极速 WEB + ORM 框架,拥有 Java 语言优势的同时,拥有 Ruby、Python 等动态语言的开发效率。

    主要编程语言: Java

    项目示例:

    1.控制器(支持 Enjoy、JSP、Velocity、JSON 等等以及自定义视图渲染)。

    @Before(BlogInterceptor.class)
    public class BlogController extends Controller {
    
        @Inject
        BlogService service;
    
        public void index() {
            set("blogPage", service.paginate(getParaToInt(0, 1), 10));
            render("blog.html");
        }
    
        public void add() {
        }
    
        @Before(BlogValidator.class)
        public void save() {
            getModel(Blog.class).save();
            redirect("/blog");
        }
    
        public void edit() {
            set("blog", service.findById(getParaToInt()));
        }
    
        @Before(BlogValidator.class)
        public void update() {
            getModel(Blog.class).update();
            redirect("/blog");
        }
    
        public void delete() {
            service.deleteById(getParaToInt());
            redirect("/blog");
        }
    }

    2.Service所有业务与sql全部放在Service层。

    public class BlogService {
    
        private Blog dao = new Blog().dao();
        
        public Page<Blog> paginate(int pageNumber, int pageSize) {
            return dao.paginate(pageNumber, pageSize, "select *", "from blog order by id asc");
        }
        
        public Blog findById(int id) {
            return dao.findById(id);
        }
        
        public void deleteById(int id) {
            dao.deleteById(id);
        }
    }

    3.Model(无xml、无annotaion、无attribute)

    public class Blog extends Model<Blog> {
        
    }

    4.Validator(API引导式校验,比xml校验方便N倍,有代码检查不易出错)

    public class BlogValidator extends Validator {
        protected void validate(Controller controller) {
            validateRequiredString("blog.title", "titleMsg", "请输入Blog标题!");
            validateRequiredString("blog.content", "contentMsg", "请输入Blog内容!");
        }
    
        protected void handleError(Controller controller) {
            controller.keepModel(Blog.class);
        }
    }

    5.拦截器(在此demo中仅为示例,本demo不需要此拦截器)

    public class BlogInterceptor implements Interceptor {
        public void intercept(Invocation inv) {
            System.out.println("Before invoking " + inv.getActionKey());
            inv.invoke();
            System.out.println("After invoking " + inv.getActionKey());
        }
    }


    ymate-platform-v2

    开源许可证: Apache-2.0

    项目作者: 有理想的鱼

    项目地址: https://gitee.com/suninformation/ymate-platform-v2

    推荐原因: ymate-platform-v2 是一个简单、易用的轻量级 Java 应用开发框架

    主要编程语言: Java

    项目??楣δ埽?/strong>

    热门开源Web开发框架推荐-Gitee 官方博客

    HServer

    开源许可证: Apache-2.0

    项目作者: HServer

    项目地址: https://gitee.com/HServer/HServer

    推荐原因: HServer 是一个开发灵活,轻量级,低入侵,高并发的新型 Web 开发框架。

    主要编程语言: Java

    项目原理及流程:

    热门开源Web开发框架推荐-Gitee 官方博客

    C++


    drogon

    开源许可证: MIT

    项目作者: an-tao

    项目地址: https://gitee.com/an-tao/drogon

    推荐原因: 基于 C++14/17 的跨平台、高性能 HTTP Web 应用框架

    主要编程语言: C++

    操作案例:

    1.创建一个HttpSimpleController对象。

    /// The TestCtrl.h file
    #pragma once
    #include <drogon/HttpSimpleController.h>
    using namespace drogon;
    class TestCtrl:public drogon::HttpSimpleController<TestCtrl>
    {
    public:
        virtual void asyncHandleHttpRequest(const HttpRequestPtr& req, std::function<void (const HttpResponsePtr &)> &&callback) override;
        PATH_LIST_BEGIN
        PATH_ADD("/test",Get);
        PATH_LIST_END
    };
    
    /// The TestCtrl.cc file
    #include "TestCtrl.h"
    void TestCtrl::asyncHandleHttpRequest(const HttpRequestPtr& req,
                                          std::function<void (const HttpResponsePtr &)> &&callback)
    {
        //write your application logic here
        auto resp = HttpResponse::newHttpResponse();
        resp->setBody("<p>Hello, world!</p>");
        resp->setExpiredTime(0);
        callback(resp);
    }

    2.代码都可以由 drogon_ctl命令创建后这样创建控制器:

    /// The header file
    #pragma once
    #include <drogon/HttpSimpleController.h>
    using namespace drogon;
    class JsonCtrl : public drogon::HttpSimpleController<JsonCtrl>
    {
      public:
        virtual void asyncHandleHttpRequest(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback) override;
        PATH_LIST_BEGIN
        //list path definitions here;
        PATH_ADD("/json", Get);
        PATH_LIST_END
    };
    
    /// The source file
    #include "JsonCtrl.h"
    void JsonCtrl::asyncHandleHttpRequest(const HttpRequestPtr &req,
                                          std::function<void(const HttpResponsePtr &)> &&callback)
    {
        Json::Value ret;
        ret["message"] = "Hello, World!";
        auto resp = HttpResponse::newHttpJsonResponse(ret);
        callback(resp);
    }

    3.通过 HttpController 类创建一个 RESTful API:

    /// The header file
    #pragma once
    #include <drogon/HttpController.h>
    using namespace drogon;
    namespace api
    {
    namespace v1
    {
    class User : public drogon::HttpController<User>
    {
      public:
        METHOD_LIST_BEGIN
        //use METHOD_ADD to add your custom processing function here;
        METHOD_ADD(User::getInfo, "/{id}", Get);                  //path is /api/v1/User/{arg1}
        METHOD_ADD(User::getDetailInfo, "/{id}/detailinfo", Get);  //path is /api/v1/User/{arg1}/detailinfo
        METHOD_ADD(User::newUser, "/{name}", Post);                 //path is /api/v1/User/{arg1}
        METHOD_LIST_END
        //your declaration of processing function maybe like this:
        void getInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
        void getDetailInfo(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, int userId) const;
        void newUser(const HttpRequestPtr &req, std::function<void(const HttpResponsePtr &)> &&callback, std::string &&userName);
      public:
        User()
        {
            LOG_DEBUG << "User constructor!";
        }
    };
    } // namespace v1
    } // namespace api


    cppweb

    项目作者: 寻根

    项目地址: https://gitee.com/xungen/cppweb

    推荐原因: cppweb 是基于 C++ 开发的 Web 服务器,支持 C/C++、Python、Java 等多语言混合开发 Web 应用。

    主要编程语言: C++

    项目功能展示:

    热门开源Web开发框架推荐-Gitee 官方博客

     PHP


    Hyperf

    开源许可证: MIT

    项目作者: hyperf

    项目地址: https://gitee.com/hyperf/hyperf

    推荐原因: Hyperf 是一款基于 Swoole 4.5+ 实现的高性能、高灵活性的 PHP 持久化框架,特别适用于微服务和中间件的开发。

    主要编程语言: PHP

    实操教程: 请参考 https://course.swoole-cloud.com/videos/5/new?from=hyperf.io 查看详细教程进行操作。


    ThinkPHP

    开源许可证: Apache-2.0

    项目作者: ThinkPHP

    项目地址: https://gitee.com/top-think/think

    推荐原因: ThinkPHP 是一家拥有 15 年历史的老牌 PHP 开源框架

    主要编程语言: PHP

    项目操作方法演示:

    这是一个典型的 Index 控制器的操作方法定义,包含了两个操作方法:若不使用任何参数,如果定义了一个非可选参数,并且不是对象类型,则该参数必须通过用户请求传入,如果是 URL 请求,则通常是通过当前的请求传入,操作方法的参数支持依赖注入。

    <?php
    namespace app\controller;
    
    class Index 
    {
        public function index()
        {
            return 'index';
        }
        
        public function hello(string $name)
        {
            return 'Hello,'.$name;
        }
    }


    TimoPHP

    开源许可证: BSD-3-Clause

    项目作者: tomener

    项目地址: https://gitee.com/tomener/TimoPHP

    推荐原因: TimoPHP 是一个快速、灵活的 PHP Web 开发框架。

    主要编程语言: PHP

    目录结构:

    /data
      |-TimoSNS                         项目目录(自己项目名称,比如用TimoPHP开发的社区应用,叫TimoSNS,自定义)
      |   |-app                         应用目录
      |   |   |-cli                     命令行
      |   |   |-api                     移动端
      |   |   |   |-controller          控制器目录
      |   |   |   |_config.php          项目配置文件
      |   |-business                    公共业务逻辑
      |   |-cache                       运行时缓存目录
      |   |-middleware                  中间件
      |   |-provider                    服务提供者目录
      |   |-component                   组件目录
      |   |-config                      公共配置目录
      |   |   |-dev                     开发环境配置目录
      |   |   |-pro                     线上环境配置目录
      |   |   |-test                    测试环境配置目录
      |   |-lib                         自定义类库
      |   |-logs                        日志目录
      |   |-model                       模型目录
      |   |-public                      WEB目录(对外访问目录)名称自定义,如wwwroot、public
      |   |   |-api                     小程序
      |   |   |   |_index.php           小程序入口文件
      |   |-send                        推送(微信、小程序、android、IOS)
      |   |-service                     公共服务目录
      |   |-task                        异步任务
      |   |-vendor                      composer安装类库目录
      |   |-bootstrap.php               整个项目的启动文件
      |   |_composer.json
      |-TimoPHP                         框架,和项目在同一级目录

    JavaScript


    titbit

    开源许可证: MulanPSL-2.0

    项目作者: 疯狂的机械键盘

    项目地址: https://gitee.com/daoio/titbit

    推荐原因: titbit 是一款 Node.js 环境的Web后端框架,支持HTTP/HTTPS/HTTP2,也支持配置切换。

    主要编程语言: JavaScript

    流程展示:

    热门开源Web开发框架推荐-Gitee 官方博客

    Go


    GinSkeleton

    开源许可证: MIT

    项目作者: 张奇峰

    项目地址: https://gitee.com/daitougege/GinSkeleton

    推荐原因: 这是一个基于 Go 语言 Gin 框架封装的 Web 项目骨架。

    主要编程语言: Go

    项目流程展示:

    1.主线逻辑图:

    热门开源Web开发框架推荐-Gitee 官方博客

    2.核心主线调用链图

    热门开源Web开发框架推荐-Gitee 官方博客

    3.后台骨架图

    热门开源Web开发框架推荐-Gitee 官方博客


    go-zero

    开源许可证: MIT

    项目作者: kevwan

    项目地址: https://gitee.com/kevwan/go-zero

    推荐原因: go-zero 是一个集成了各种工程实践的 Web 和 RPC 框架。

    主要编程语言: Go

    项目架构展示:

    热门开源Web开发框架推荐-Gitee 官方博客


    orange

    开源许可证: Apache-2.0

    项目作者: qiqi

    项目地址: https://gitee.com/zhucheer/orange

    推荐原因: orange 是一款基于 Golang 语言的 web 开发框架

    编程语言: Go

    项目原理演示:

    热门开源Web开发框架推荐-Gitee 官方博客

    Delphi


    DelphiWebMVC

    开源许可证: Apache-2.0

    项目作者: PRSoft

    项目地址: https://gitee.com/pearroom/DelphiWebMVC

    推荐原因: 据项目作者表示,Delphi 在 Web 系统开发上没有像 Java 或 PHP 这样方便,对于一直使用 Delphi 的工程师来说是个遗憾,因此使用 Delphi 技术开发了一套 Web 框架,使用 MVC 模式,让工程师只需把精力放在模型与视图的设计上。

    主要编程语言: Delphi

    项目Demo演示:

    注:此项目详细操作请参考作者博客:https://my.oschina.net/delphimvc

    热门开源Web开发框架推荐-Gitee 官方博客
    Gitee开源开源项目

    本文系作者 @Gitee 原创发布在 Gitee 官方博客。未经许可,禁止转载。

    入门简单、轻量好用的嵌入式开发开源项目
    上一篇
    Gitee 企业版助力阳光照明,点亮照明行业的创新明灯
    下一篇
    近期文章
    • 启航 AI 新航道!Gitee 双十一与你共享智能新未来
    • 《中国DevOps现状调查报告(2023)》发布,Gitee 领跑国产平台
    • 研运一体化之下,Gitee 如何精准赋能银行实施大规模敏捷
    • 对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
    • 从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
    • 科技赋能,Gitee 助力国家海关总署实现重大业务改革
    • 科大讯飞选择Gitee旗舰版,完成研发协作平台国产化替代
    • 用脑图做测试用例,高效到家了!
    • 信创驶入快车道,中国赛宝实验室选择 Gitee 搭建高效研发协作平台
    • 金融人怎么写出安全可靠的代码?知名证券企业这样做
    相关文章
    研运一体化之下,Gitee 如何精准赋能银行实施大规模敏捷
    对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
    从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
    科技赋能,Gitee 助力国家海关总署实现重大业务改革
    关于我们

    Gitee(gitee.com)是 OSCHINA.NET 推出的代码托管·协作开发平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 1200 万的开发者选择 Gitee。

    品牌内容
    开源软件 GVP计划 Gitee 封面人物 CopyCat 代码克隆检测
    友情链接
    开源中国 Gitee Gitee 高校版 Gitee 企业版
    Copyright ? 2013-2025 Gitee 官方博客. Designed by nicetheme.
    • 产品动态
    • 企业案例
    • 项目推荐
    • 关于开源
    • 发现更多
    • 回到 Gitee
    热门搜索
    • Gitee
    • gitee 企业版
    • 码云
    • 开源项目
    • 码云Gitee
    • GVP
    • Git
    • 开源
    • 码云企业版
    • 码云周刊
    • 码云 gitee
    • DevOps
    • gitee企业版
    • 内源
    • 内部开源
    • innersource
    • 小程序
    • 企业版
    Gitee
    Top

    感谢您访问我们的网站,您可能还对以下资源感兴趣:

    杭州龙凤sh419论坛
    100元5小时上门服务内容 全国凤楼小姐兼职同城网站 2024全国各城市凤楼信息 全国空降同城微信电话号码 附近找小组联系方式
  • <fieldset id="ou4ya"></fieldset>
  • <tfoot id="ou4ya"></tfoot>
    <strike id="ou4ya"></strike>
    <ul id="ou4ya"><dfn id="ou4ya"></dfn></ul>
  • <cite id="ou4ya"></cite>