V0-1-canary
Imaginez un monde où chaque ligne de code Python se transforme en une mélodie d'efficacité. Un univers où la puissance de FastAPI rencontre l'élégance du routing Next.js, créant une symphonie parfaite entre performance et simplicité. Cette vision n'est plus un rêve. Bienvenue dans une nouvelle ère d'excellence du développement web en Python, où chaque projet devient une aventure captivante et ultra-productive.

Introduction

Le Contexte

Dans le vaste univers du développement web en Python, les solutions se situent souvent à l'une de deux extrémités :

  • Des frameworks complets et puissants comme Django, dont la richesse se traduit parfois par une complexité qui freine l'innovation.
  • Des micro-frameworks agiles, à l'image de Flask, qui, malgré leur flexibilité, imposent une configuration répétitive et chronophage.

FastAPI a certes révolutionné l'écosystème avec des performances inégalées et un typage moderne, mais le chemin reste semé d'embûches :

  • Une organisation de projets qui se complexifie au fil de la croissance.
  • Des configurations de routes répétitives, qui grignotent un temps précieux.
  • Des conventions de développement souvent floues, freinant une harmonisation optimale du code.
  • Une gestion de l'interface utilisateur qui demeure un défi pour maintenir l'agilité et l'innovation.

C'est dans ce contexte que Nexy fait son entrée, prêt à redéfinir les standards du développement web en Python. Nexy combine le meilleur des mondes : l'efficacité et la robustesse de frameworks établis avec une simplicité et une flexibilité qui libèrent véritablement la créativité. Préparez-vous à transformer vos défis en opportunités et à redécouvrir le plaisir d'innover sans compromis.

La Vision de Nexy

Nexy est né d'une réflexion profonde sur l'évolution des frameworks Python. Python brille par sa simplicité, sa puissance et son écosystème riche, mais dans le paysage actuel, Django s'impose presque comme un monopole, laissant peu de place à des alternatives comme Flask ou FastAPI. Est-ce uniquement une question de popularité, ou simplement parce qu'aucun autre framework n'offre une solution aussi complète pour le développement web moderne ?

Django possède des fonctionnalités impressionnantes, mais sa complexité et sa lourdeur peuvent devenir un obstacle, surtout pour des projets qui n’ont pas besoin d’une telle infrastructure. Cela pose une question essentielle : pourquoi ne pas créer un framework inspiré des meilleures pratiques modernes comme dans « Next.js, NestJS ou AdonisJS » tout en préservant la simplicité et l'élégance de Python ?

C'est cette vision qui a donné naissance à Nexy. Pensé pour offrir une expérience développeur fluide et efficace, Nexy allie la puissance asynchrone de FastAPI à une structure modulaire intuitive, réduisant la configuration au strict minimum et simplifiant la maintenance. Il transforme la complexité des configurations lourdes en une opportunité d'innovation, en restant fidèle à l'essence même de Python : simple, performant et élégant.

Avec Nexy, vous choisissez un framework qui redéfinit les standards du développement web en Python. Concentrez-vous sur votre logique métier, sans vous laisser freiner par des contraintes techniques inutiles.

Nos principes :

  • Convention over Configuration : Adoptez des standards éprouvés dès la base.
  • Intuitivité : Une structure naturelle, où tout se découvre sans effort.
  • Productivité : Réduisez le code répétitif pour maximiser vos fonctionnalités.
  • Évolutivité : Du projet minimaliste à l'application d'entreprise, Nexy grandit avec vous.

Pourquoi Nexy ?

  • Débutants : Démarrez avec une approche fluide et intuitive, sans complexité superflue, pour apprendre Python et le développement web rapidement.
  • Experts : Exploitez une architecture modulaire et performante, combinant la puissance de FastAPI et la simplicité d'un routage intelligent pour des projets de grande envergure.
  • Tous les développeurs : Profitez d'un framework conçu pour maximiser la productivité, avec un code clair, réactif et élégant.
  • Nexy, c'est bien plus qu'un simple framework : c'est une expérience de développement fluide, performante et intuitive. Libérez votre créativité, boostez votre productivité et redécouvrez le plaisir d'écrire du code efficace et élégant.

Nexy : L'Aube d'une Révolution

Espoir Loém, créateur de Nexy :

«
Après des années à observer l'écosystème Python et ses frameworks, j'ai eu une révélation :
nous pouvions faire tellement mieux.

Dans notre communauté technique, Django est un excellent outil qui a fait ses preuves, mais il est temps d'innover pour répondre aux besoins modernes.

Je voyais de nombreux développeurs talentueux limités par des outils qui ne correspondaient plus à leurs attentes. Les fondations étaient solides, mais l'expérience développeur méritait d'être repensée.

C'est ainsi qu'est né Nexy, une nouvelle vision du développement web en Python. Notre objectif n'était pas simplement d'ajouter une couche d'abstraction, mais de repenser l'expérience complète du développeur.

Pourquoi devrions-nous choisir entre performance et simplicité ?

Python est un langage élégant et expressif. Il mérite des outils qui préservent sa clarté naturelle, plutôt que de la noyer dans des structures complexes.

Nexy incarne cette philosophie : rendre le développement web en Python aussi naturel et fluide que possible, à travers une évolution réfléchie de nos pratiques.

»

Exemple de Code

Controller

python

# app/controller.py

def GET():
    return {"Get": "Hello World"}

async def POST():
    return {"Post": "Hello New Post"}

async def PUT():
    return {"Put": "Hello Updated Post"}

Sockets

python

# app/controller.py
from nexy import WebSocket

async def socket(websocket: WebSocket):
    await websocket.accept()
    while True:
        data = await websocket.receive_text()
        await websocket.send_text(f"Message received: {data}")

Actions Serveur

python

# app/actions.py
from nexy import action

@action()
async def delete_post(id: int):
    return {"Delete": "Hello Deleted Post"}

@action()
async def update_post(id: int, post: Post):
    return {"Update": "Hello Updated Post"}

Composants

python

# components/__init__.py
from nexy import Component
@component(
  imports=[]
)
def Button(label: str, on_click: Callable = None):
    return {
        "label": label,
        "on_click": on_click,
    }

html

<!-- components/Button.html -->
<button onclick="{{use(on_click)}}"  >{{label}}</button>

Une Architecture Qui Respecte Votre Intelligence 🧠

Un framework doit vous faire gagner du temps, pas vous en faire perdre.

Actions Serveur : La Réalité, Pas Les Promesses 🎭
Oui, on utilise encore JavaScript en 2024. Mais on peut le faire intelligemment :

Démarrage : Aussi Simple Que Prévu ⚡

Nexy est encore jeune, mais il a déjà un objectif clair : vous laisser coder en Python, proprement, sans vous prendre la tête.
Envie de contribuer à un framework qui respecte ses développeurs ? Rejoignez l'aventure !

Nexy : Parce que le développement web en Python méritait mieux que des compromis constants.