Coder Social home page Coder Social logo

unix-world / smart.framework Goto Github PK

View Code? Open in Web Editor NEW
9.0 4.0 4.0 30.82 MB

Smart Framework - A High Performance PHP / Javascript Framework for Web Projects

License: Other

Shell 0.12% PLpgSQL 0.14% PHP 73.13% CSS 2.16% JavaScript 24.42% Standard ML 0.03%
framework php redis mongodb postgresql mysql mariadb sqlite3 gdbm mvc

smart.framework's Introduction

Smart.Framework: a practical, modern and high performance PHP / JavaScript Framework for Web featuring Middlewares + MVC

Dual-licensed: under BSD license or GPLv3 license (at your choice)

This software project is open source.

You must choose which license to use depending on your use case: BSD license or GPLv3 license

(c) 2009 - 2022 unix-world.org / [email protected]

   
Demo URL: http://demo.unix-world.org/smart-framework/
Download URL: https://github.com/unix-world/Smart.Framework
Download Modules URL: https://github.com/unix-world/Smart.Framework.Modules

 

Smart.Framework design philosophy:

  • A very pragmatic and practical aproach: A Practical Web Framework for Practical People
  • Based on a previous experience of more than 17 years of developing web projects, research and experiments using web technologies
  • Web oriented approach: to offer a solid and secure platform for building websites or web based applications for Web Clients, Desktops and Mobiles
  • Clean Code: MVC code pattern with built-in Dependency-Injection
  • Hybrid Architecture: Multi-Tier combined with Middlewares architecture to provide a flexible and responsive web service
  • Modular Architecture: support creating reusable modules (there are also many turn-key modules available in Smart.Framework.Modules)
  • Full Decoupled Libraries: the framework core is using independent (decoupled) libraries (no 3rd party dependencies)
  • NameSpace Separation in modules for: Models, Views, Controllers and Libraries
  • Easy to integrate with 3rd party (vendor) libraries
  • Native Cloud Server Services (built-in), as module for: WebDAV Server, CalDAV Server, CardDAV Server
  • Native Cloud Client Provider (built-in), as library for HTTP/HTTPS access which supports the full range of HTTP(S) Methods / Requests: GET, POST, PUT, DELETE, ...
  • Native Router based on smart URL Links: /?page=my-module.sample that can be used as /?/page/my-module.sample or /?/page/sample if (my-module is default bundle)
  • Integrates with Apache Rewrite to use SEO friendly links like /sample.html instead of traditional link /?page=my-module.sample or smart link /?/page/my-module.sample/

Easy develop your web projects with Smart.Framework

The primary goal of Smart.Framework is to provide a very practical, fast and secure web framework. Following this philosophy Smart.Framework provides an optimal balance between acceptable coding skills and performance delivered.

It is a lightweight but feature reach PHP / JavaScript web framework, mature and stable, it is being proactively used and tested in several high-end web projects that can really serve many millions of page views per month with a single physical server ! The original software architecture of this web framework allows it to deliver a paradox:

  • it have more default built-in features in the code base than the well-known frameworks compared with Symfony, Laravel or Zend Framework
  • it delivers much more performance being between 3x to 4x faster (as HTTP Requests / second) compared with Symfony, Laravel or Zend Framework
  • when used with Persistent Cache based on In-Memory DB like Redis or Memcache it beats Varnish in many aspects:
    • delivers ~ the same speed as Varnish but allows granulary level caching policy of zones in controllers
    • works also with HTTPS (by example, Varnish does not)
    • caching policies can be controlled to expire based on content / GET or POST variables INPUT even with changing COOKIES

This software framework is compatible, stable and actively tested with PHP 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4 versions.

Prefered PHP version is: 8.0 (LTS).

 

Benchmark Scenario:

Using a simple controller (no Caching) that Outputs: 'Hello World' The benchmark was running using Apache Benchmark suite with the following command: ab -n 5000 -c 250 http://{localhost}/{framework}/{benchmark-page}   Hardware platform: one physical server (Supermicro):

  • 2 x Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz 64-bit (Total: 44 cores / 88 threads)
  • 512 GB RAM, DDR4 ECC @ 2133 MHz
  • HDD 2 x 1TB SSD/NVME

Software:

  • OS: Debian 11 Linux 64-bit, up-to-date 2022-07-30
  • Apps: Apache 2.4.54, PHP 8.0.21 with Opcache enabled

Benchmark Results of tested PHP Frameworks:

  • Smart.Framework v.8.7 [email protected] with MarkersTPL Templating: ~ 8.887K (8887) requests per second
  • CodeIgniter v.4.1 with PHP Templating: ~ 5.38K (5381) requests per second ( 1.3x slower than Smart.Framework )
  • Laravel 8.5 with Blade Templating ~ 1.85K (1852) requests per second ( 5x slower than Smart.Framework )
  • Symfony 5.2 with Twig Templating: ~ 1.74K (1741) requests per second ( 5x slower than Smart.Framework )

smart.framework's People

Contributors

i-victor avatar unix-world avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.