Services Web : Jelix prend en charge l'analyse du contenu des requêtes, et la génération des réponses pour les appels de services web en SOAP, XML-RPC, JSON-RPC ou JSON. D'autres types de services web sont tout à fait envisageables.
Prise en charge de RESTfull : par simple implémentation d'une interface, on peut définir facilement les traitements suites aux requetes HTTP GET/POST/PUT/DELETE.
Système de thèmes : il est possible de définir plusieurs thèmes, chacun redéfinissant les templates des modules.
Système de génération automatique et de mapping d'url : pas d'url en dur dans Jelix. C'est le framework qui se charge de générer les urls dans les templates ou ailleurs, en fonction de la configuration du mapping url définit sur les actions.
CRUD générique : Jelix propose un contrôleur générique permettant de faire une interface d'administration d'une table SQL en quelques lignes de code, avec l'aide de jDao et jForms
Des scripts PHP de génération de code à exécuter en ligne de commande, permettant la création rapide des divers fichiers d'un projet (module, dao, template, controlleur etc)
Système de cache technique : quasiment tous les fichiers non PHP d'un projet Jelix sont “compilés” en PHP afin d'améliorer les performances (templates, dao, évènements etc..).
Compatible UTF-8. C'est d'ailleurs l'encodage par défaut du framework.
Module dédié aux tests unitaires : les tests unitaires sont essentiels pour créer une application qui soit fiable. Jelix propose donc un module qui fourni une interface pour lancer les tests unitaires et un moyen simple de créer des tests unitaires (reposant sur SimpleTest)
L'architecture du coeur est du type MVC (Model-View-Controller). Un coordinateur se charge de lancer l'exécution d'une action précise en fonction des paramètres dans l'url. Les actions possibles sont implémentées dans des classes de type jController (contrôleurs).
Jelix propose
différents générateurs de format (les objets jResponse) : XHTML,
CSS, ATOM, RSS, XML, RDF, ZIP, PDF (via TCPDF). D'autres formats sont bien sûr possible.
Couche d'abstraction d'accès aux bases de données : jDb repose sur PDO ou sur ses propres classes (quand PDO n'est pas disponible) pour accéder aux bases de données.
Localisation : il est possible d'avoir son application en plusieurs langues. Le stockage des chaînes localisées se fait dans des fichiers properties.
Système d'authentification et de gestion de droits.
Utilisation du XML : déclaration des évènements, des DAOs etc… Cela permet de faciliter l'écriture, de générer et modifier facilement ces parties d'un projet par des outils tiers, et donc d’accroître la productivité.