تخطَّ إلى المحتوى الرئيسي

إلى أي مدى يقرأ منتجك جيدًا

يكتشف Syncanix ما يستطيع منتجك فعله بقراءته. ولا ينجح ذلك إلا إذا كانت القراءة جيدة، لذلك نقيسها على مشاريع عامة حقيقية، وننشر النتيجة، ونربط كل رقم في هذه الصفحة بمجموعة الاختبارات التي تنتجه. وإن ساءت القراءة، يفشل البناء قبل أن تتمكن هذه الصفحة من المبالغة.

أبرز النتائج

100.0%مما يستطيع المشروع فعله فعلًا تم العثور عليه
100.0%مما أدرجه تبيّن أنه حقيقي
27مشاريع عامة حقيقية، قُوبل كلٌّ منها بقائمة كُتبت يدويًا
30إطار عمل مدعوم عبر 19 لغة

آخر تحقّق: 2026-07-18 · f8a6fe3c

كيف قِيس هذا

  • ورقة الإجابات كُتبت يدويًا

    قرأنا شيفرة كل مشروع بأنفسنا ودوّنّا كل إجراء موجود فيه فعلًا. ثم يُقيَّم Syncanix مقابل تلك القائمة: كم وجد منها، وكم مما وجده كان موجودًا حقًا.

  • ما الذي يُحتسب مطابقة

    عليه أن يسمّي الإجراء نفسه على العنوان نفسه، بما في ذلك أي بادئة تضيفها الشيفرة. وتُقارن العناصر النائبة بالموضع لا بالاسم، فتُحتسب صيغتان مختلفتان لكتابة «معرّف الطلب» في الموضع ذاته شيئًا واحدًا.

  • يقرأ فقط ولا يشغّل شيئًا أبدًا

    الاكتشاف يقرأ الشيفرة المصدرية. لا يشغّل تطبيقك أبدًا، ولا يراقب حركة البيانات، ولا يستدعي شيئًا. وكل رقم هنا خرج من القراءة نفسها التي ينفّذها `npx syncanix init` على جهازك.

  • يُفحص عند كل تغيير، ومثبّت بالاختبارات

    تُعاد قراءة المشاريع النموذجية عند كل تغيير في القارئ، وأرقام هذه الصفحة مربوطة بالاختبارات بما ينتجه ذلك التشغيل. وأي تراجع يُفشل البناء قبل أن يصل إلى الإنتاج.

مشاريع عامة حقيقية، مُقيَّمة

27 مشروعًا حقيقيًا، معظمها تطبيقات مرجعية مفتوحة المصدر، لكلٍّ منها ورقة إجابات كُتبت يدويًا. والمشاريع عامة، فيمكنك قراءة الملفات نفسها التي قرأناها.

مشاريع عامة حقيقية، مُقيَّمة
إطار العملالمشروعإجراءات حقيقيةمما هو موجود، وُجدمما أدرجه، حقيقي
Expressgothinkster/node-express-realworld-example-app20100%100%
NestJSlujakob/nestjs-realworld-example-app21100%100%
FastAPInsidnev/fastapi-realworld-example-app19100%100%
Flaskgothinkster/flask-realworld-example-app19100%100%
Djangogothinkster/django-realworld-example-app23100%100%
Railsgothinkster/rails-realworld-example-app20100%100%
Laravelf1amy/laravel-realworld-example-app19100%100%
Gingothinkster/golang-gin-realworld-example-app20100%100%
Spring Bootgothinkster/spring-boot-realworld-example-app19100%100%
Actixsnamiki1212/realworld-v1-rust-actix-web-diesel20100%100%
ASP.NET Coregothinkster/aspnetcore-realworld-example-app19100%100%
GraphQLhowtographql/graphql-js8100%100%
Fastifyfastify/demo14100%100%
gRPCgrpc/grpc-go4100%100%
Axumtokio-rs/axum4100%100%
Playplayframework/play-samples3100%100%
Fibergofiber/recipes8100%100%
Vaporvapor/api-template4100%100%
Chigo-chi/chi12100%100%
Echoxesina/golang-echo-realworld-example-app20100%100%
Phoenixgothinkster/elixir-phoenix-realworld-example-app26100%100%
net/httpleeprovoost/go-rest-api-template12100%100%
Dreamaantron/dream2100%100%
Cowboyninenines/cowboy1100%100%
Compojurefurkan3ayraktar/clojure-polylith-realworld-example-app22100%100%
Servantjeukshi/haskell-servant-realworld-example-app19100%100%
Plumbertmobile/r-tensorflow-api1100%100%

تطبيقات نموذجية مبنية لهذا الغرض

تطبيق صغير لكل إطار عمل، مكتوب لاختباره، مُقيَّم مقابل حد أدنى على كل واحد بلوغه. وهذه هي المجموعة التي تعمل عند كل تغيير في القارئ.

تطبيقات نموذجية مبنية لهذا الغرض
إطار العملتطبيقات نموذجيةمجتمعةالحد الأدنى المطلوب
nestjs5100%92%
express3100%85%
fastapi8100%92%
fastify3100%85%
nextjs8100%92%
graphql5100%100%
grpc1100%92%
trpc3100%92%
websocket2100%85%
springboot2100%85%
django2100%85%
flask2100%85%
rails392.6%85%
phoenix1100%85%
gin1100%85%
chi1100%85%
echo1100%85%
fiber1100%85%
net-http1100%85%
actix2100%85%
axum3100%85%
laravel2100%85%
aspnet1100%85%
koa1100%85%
hapi1100%85%
elysia1100%85%
litestar1100%85%
sinatra1100%85%
ktor1100%85%
vapor1100%75%
play1100%75%
compojure1100%75%
dream2100%75%
servant1100%75%
cowboy2100%75%
plumber1100%75%
lapis2100%75%

مشاريع حقيقية كاملة، مثبّتة على إصدار واحد

مشاريع حقيقية كاملة، مثبّتة على إصدار واحد كي لا تتحرك النتيجة من تلقاء نفسها، مقيسة مقابل وصف المشروع المنشور عن نفسه أو مقابل قائمة كُتبت يدويًا.

مشاريع حقيقية كاملة، مثبّتة على إصدار واحد
إطار العملتطبيق نموذجيالنتيجة المجتمعةمقيس مقابل
FastAPIfastapi-realworld@029eb77100%openapi
Honohono-open-api-starter@0d5f3bf100%hand-labelled
Symfonysymfony-realworld@5ad39de100%openapi

ما لا تدّعيه هذه الأرقام

  • هذه مشاريع مرجعية، لا عيّنة عشوائية من كل البرمجيات. وقد يختلف مشروعك، ولهذا يكتب لك الإعداد قائمة تراجعها بدل أن يطلب منك تصديقنا.
  • هذا يقيس القراءة: أي الإجراءات موجودة وأين. أما جودة وصف كل منها بعد ذلك فتُقيَّم على حدة ولا تدخل في هذه الأرقام.
  • تُوسم حاجة الإجراء إلى تسجيل الدخول بحذر في بعض القُرّاء، وقد تختلف عن وصف المشروع المنشور في إجراءات عامة فعلًا. والنتيجة أعلاه تخص العثور على الإجراءات لا ذلك الوسم.

تحقّق منه على شيفرتك أنت

التحقّق الوحيد الذي يهم فعلًا هو منتجك أنت: شغّل الإعداد واقرأ القائمة التي يكتبها. كل قدرة تذكر الملف والسطر اللذين جاءت منهما، فتستطيع مقابلة القائمة بشيفرتك في دقائق. ولإعادة إنتاج أرقام هذه الصفحة بنفسك:

pnpm --filter syncanix test:f1
pnpm --filter syncanix scan:real

أطر العمل المدعومة يعدّد كل إطار عمل ولغة يستطيع قراءتها، وما العمل إن لم تكن لغتك مذكورة.