前端框架选型是企业提升开发效率与用户体验的关键因素
850
2022-10-08
ffead-cpp :企业应用程序开发框架(ffead-cpp框架)
The ffead-cpp Framework
ffead-cpp is a web-framework, application framework, utilities all bundled into one. It also provides an embedded HTTP/Web-Socket compliant high-performance server core. It is a collection of modules all geared towards performing individual roles which together form the cohesive back-bone of ffead-cpp.
It provides a very simple to use and maintain web-framework library with advanced features like Reflection, Dependency Injection (IOC), Inbuilt REST/SOAP support, Security/Authentication features. Moreover implementation for interfacing to caching tools like Memcached/Redis are provided in-built. Database integration/ORM framework (SDORM) solves all major issues with respect to interfacing with SQL/No-SQL database alike.
Multi-level serialization or template level serialization is a high point of ffead-cpp core serialization run-time. Any C++ POCO class can be marked as serializable and the run-time will take care of marshalling/un-marshalling the object to its intended serializable form and back(jsON/XML/BINARY).
ffead-cpp can be easily driven by XML configuration, Services/Controllers/Filters/Interfaces/API(s) are all simple POCO classes without any need for them to extend any classes. The differentiating feature in ffead-cpp is the usage/implementation/support for markers (Annotations in java). Simple #pragma directives can now be used to drive the entire configuration in ffead-cpp, so you can just forget XML configuration.
All in all ffead-cpp is the gap in the world of C++ web application or enterprise application development which I have tried to fill with my humble/honest effort.
Starting version 4.0 ffead-cpp only cmake builds are supported
Detailed OS specific instructions, instructions for installing the available server backends and docker/docker-compose scripts are located at docker
Features
Webrtc Signalling (websocket + api) (horizontally scalable peerjs compatible signalling server)Multiple server backends embeddednginxapacheopenlitespeed (experimental)cinatralithiumdrogonlibreactor (c)vweb (vlang)picov (vlang)actix (rust)hyper (rust)thruster (rust)rocket (rust)h2o.cr (crystal)crystal-http (crystal)fasthttp (golang)gnet (golang)firenio (java)rapidoid (java)wizzardo-http (java) Web Socket SupportAdvanced ORM - SDORM (sql/monogo)Cache API (memcached/redis)Search Engine API (solr/elasticsearch) -- (experimental)Improved Thread/ThreadPool API(s)Marker based configuration (java style annotations)Reflection supportSerialization supportDate/Time Ultility functionsBetter Logging supportHTTP2.0 Support (experimental)Dependency Injection
Quickstart (Using cmake)
Install cmake >= 3.8.2 and prerequisitescmake -DSRV_EMB=on -DMOD_SDORM_MONGO=on .make install -j4 (Build ffead-cpp along-with the sample applications in web + generate ffead-cpp binary)Sip some coffeecd ffead-cpp-4.0-bin/ (Navigate to the ffead-cpp binary folder)chmod +x *.sh./server.sh (Startup ffead-cpp Njoy!!)
Webrtc Example (Uses peerjs)
Follow Quickstart (Using cmake) aboveBuild docker image from docker-webrtcOnce the server starts, navigate to http://localhost:8080/peer-server/index.html in 2 tabsEnjoy p2p calling using the ffead-cpp webrtc (peerjs compatible) signalling server
For further details checkout the wiki page
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~