Skip to main content
Glama
frameworks.json9.7 kB
{ "frameworks": [ { "id": "react", "name": "React", "language": "javascript", "type": "Frontend", "features": ["Virtual DOM", "Hooks", "JSX"] }, { "id": "vue", "name": "Vue.js", "language": "javascript", "type": "Frontend", "features": ["Reactive", "Composition API", "SFC"] }, { "id": "angular", "name": "Angular", "language": "typescript", "type": "Frontend", "features": ["DI", "RxJS", "CLI"] }, { "id": "svelte", "name": "Svelte", "language": "javascript", "type": "Frontend", "features": ["Compiled", "No Virtual DOM"] }, { "id": "nextjs", "name": "Next.js", "language": "javascript", "type": "Full-Stack", "features": ["SSR", "SSG", "App Router"] }, { "id": "nuxt", "name": "Nuxt", "language": "javascript", "type": "Full-Stack", "features": ["SSR", "Vue-based", "Auto-imports"] }, { "id": "astro", "name": "Astro", "language": "javascript", "type": "Full-Stack", "features": ["Islands", "Zero JS by default"] }, { "id": "solidjs", "name": "SolidJS", "language": "javascript", "type": "Frontend", "features": ["Fine-grained Reactivity", "No Virtual DOM"] }, { "id": "qwik", "name": "Qwik", "language": "typescript", "type": "Full-Stack", "features": ["Resumable", "O(1) Loading"] }, { "id": "lit", "name": "Lit", "language": "javascript", "type": "Frontend", "features": ["Web Components", "Lightweight"] }, { "id": "ember", "name": "Ember.js", "language": "javascript", "type": "Frontend", "features": ["Convention over Config", "Ember Data"] }, { "id": "alpine", "name": "Alpine.js", "language": "javascript", "type": "Frontend", "features": ["Lightweight", "Declarative"] }, { "id": "express", "name": "Express", "language": "javascript", "type": "Backend", "features": ["Minimal", "Middleware", "REST"] }, { "id": "fastify", "name": "Fastify", "language": "javascript", "type": "Backend", "features": ["High Performance", "Schema Validation"] }, { "id": "nestjs", "name": "NestJS", "language": "typescript", "type": "Backend", "features": ["DI", "Modular", "TypeScript-first"] }, { "id": "koa", "name": "Koa", "language": "javascript", "type": "Backend", "features": ["Async/Await", "Minimal"] }, { "id": "hapi", "name": "Hapi", "language": "javascript", "type": "Backend", "features": ["Plugin System", "Config-centric"] }, { "id": "django", "name": "Django", "language": "python", "type": "Backend", "features": ["Batteries Included", "ORM", "Admin"] }, { "id": "flask", "name": "Flask", "language": "python", "type": "Backend", "features": ["Micro-framework", "Flexible"] }, { "id": "fastapi", "name": "FastAPI", "language": "python", "type": "Backend", "features": ["Async", "Type Hints", "OpenAPI"] }, { "id": "starlette", "name": "Starlette", "language": "python", "type": "Backend", "features": ["ASGI", "Lightweight"] }, { "id": "rails", "name": "Ruby on Rails", "language": "ruby", "type": "Backend", "features": ["Convention over Config", "ActiveRecord"] }, { "id": "sinatra", "name": "Sinatra", "language": "ruby", "type": "Backend", "features": ["Micro-framework", "DSL"] }, { "id": "laravel", "name": "Laravel", "language": "php", "type": "Backend", "features": ["Eloquent ORM", "Blade", "Artisan"] }, { "id": "symfony", "name": "Symfony", "language": "php", "type": "Backend", "features": ["Components", "Bundles", "Flex"] }, { "id": "cakephp", "name": "CakePHP", "language": "php", "type": "Backend", "features": ["MVC", "Scaffolding"] }, { "id": "spring", "name": "Spring Boot", "language": "java", "type": "Backend", "features": ["DI", "Auto-config", "Microservices"] }, { "id": "quarkus", "name": "Quarkus", "language": "java", "type": "Backend", "features": ["GraalVM Native", "Kubernetes-native"] }, { "id": "micronaut", "name": "Micronaut", "language": "java", "type": "Backend", "features": ["Compile-time DI", "Low Memory"] }, { "id": "aspnet", "name": "ASP.NET Core", "language": "csharp", "type": "Backend", "features": ["Cross-platform", "Blazor", "Minimal APIs"] }, { "id": "blazor", "name": "Blazor", "language": "csharp", "type": "Full-Stack", "features": ["WebAssembly", "Razor Components"] }, { "id": "gin", "name": "Gin", "language": "go", "type": "Backend", "features": ["Fast", "Middleware"] }, { "id": "echo", "name": "Echo", "language": "go", "type": "Backend", "features": ["High Performance", "Extensible"] }, { "id": "fiber", "name": "Fiber", "language": "go", "type": "Backend", "features": ["Express-inspired", "Fast"] }, { "id": "chi", "name": "Chi", "language": "go", "type": "Backend", "features": ["Lightweight", "idiomatic Go"] }, { "id": "actix", "name": "Actix Web", "language": "rust", "type": "Backend", "features": ["Fast", "Actor Model"] }, { "id": "axum", "name": "Axum", "language": "rust", "type": "Backend", "features": ["Tokio", "Tower", "Modular"] }, { "id": "rocket", "name": "Rocket", "language": "rust", "type": "Backend", "features": ["Type-safe", "Macros"] }, { "id": "phoenix", "name": "Phoenix", "language": "elixir", "type": "Backend", "features": ["LiveView", "Channels", "Real-time"] }, { "id": "flutter", "name": "Flutter", "language": "dart", "type": "Mobile", "features": ["Cross-platform", "Widgets", "Hot Reload"] }, { "id": "reactnative", "name": "React Native", "language": "javascript", "type": "Mobile", "features": ["Cross-platform", "Native Components"] }, { "id": "swiftui", "name": "SwiftUI", "language": "swift", "type": "Mobile", "features": ["Declarative", "Apple Native"] }, { "id": "jetpackcompose", "name": "Jetpack Compose", "language": "kotlin", "type": "Mobile", "features": ["Declarative", "Android Native"] }, { "id": "hono", "name": "Hono", "language": "typescript", "type": "Backend", "features": ["Edge-ready", "Fast", "Standards-based"] }, { "id": "trpc", "name": "tRPC", "language": "typescript", "type": "Backend", "features": ["End-to-end types", "No schemas", "Lightweight"] }, { "id": "drizzle", "name": "Drizzle ORM", "language": "typescript", "type": "Backend", "features": ["SQL-like", "Lightweight", "Zero dependencies"] }, { "id": "prisma", "name": "Prisma", "language": "typescript", "type": "Backend", "features": ["Type-safe", "Schema-first", "Migrations"] }, { "id": "typeorm", "name": "TypeORM", "language": "typescript", "type": "Backend", "features": ["Decorator-based", "Active Record", "Data Mapper"] }, { "id": "supabase", "name": "Supabase", "language": "typescript", "type": "Full-Stack", "features": ["Postgres", "Auth", "Realtime"] }, { "id": "zustand", "name": "Zustand", "language": "typescript", "type": "Frontend", "features": ["Minimal", "Hooks-based", "Unopinionated"] }, { "id": "redux-toolkit", "name": "Redux Toolkit", "language": "typescript", "type": "Frontend", "features": ["Standard", "Opinionated", "DevTools"] }, { "id": "tanstack-query", "name": "TanStack Query", "language": "typescript", "type": "Frontend", "features": ["Data Synchronization", "Caching", "Optimistic Updates"] }, { "id": "jotai", "name": "Jotai", "language": "typescript", "type": "Frontend", "features": ["Atomic", "Flexible", "Recoil-like"] }, { "id": "jest", "name": "Jest", "language": "javascript", "type": "Testing", "features": ["Runner", "Assertions", "Mocking"] }, { "id": "vitest", "name": "Vitest", "language": "typescript", "type": "Testing", "features": ["Vite-native", "Fast", "Jest-compatible"] }, { "id": "playwright", "name": "Playwright", "language": "typescript", "type": "Testing", "features": ["E2E", "Multi-browser", "Reliable"] }, { "id": "msw", "name": "Mock Service Worker", "language": "typescript", "type": "Testing", "features": ["Mocking", "Network-level", "Browser/Node"] } ] }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/millsydotdev/Code-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server