server framework، به فریم ورک های خاص منظوری اطلاق می شود که برای تولید سرور (وب سرور، application server یا mail server) تهیه شده اند و امکانات خاصی برای این کار در اختیار توسعه دهندگان قرار می دهند، معمولا اینگونه فریم ورک ها از مدل برنامه نویسی Event-driven پشتیبانی می کنند، برای پشتیبانی از تعداد بالای کاربران همزمان (متصل به سرور) از عملیات i/o و شبکه بصورت non-blocking و asynchronous پشتیبانی می کنند، بصورت توکار از رنج وسیعی از پروتکل های شبکه (HTTP, XMPP, NNTP, IMAP, SSH, IRC, FTP و ...) پشتیبانی می کنند، معمولا مدل همزمانی ساده و single thread دارند و همچنین بعضی از آنها ابزارها و امکاناتی برای تولید سرور های توزیع شده و clustring در اختیار توسعه دهنده قرار می دهند.
server framework زیادی با استفاده از زبان های برنامه نویسی مختلف تولید شده اند که معروفترین آنها عبارتند از:
-
Node.js (زبان برنامه نویسی جاوااسکریپت)
-
Twisted (زبان برنامه نویسی پایتون)
-
libevent (زبان برنامه نویسی C)
-
EventMachine (زبان برنامه نویسی Ruby)
-
Vert.x (زبان های برنامه نویسی جاوا، جاوااسکریپت، پایتون، Ruby و Groovy)
-
Akka (زبان های برنامه نویسی جاوا و Scala)
-
Erlang (زبان برنامه نویسی Erlang)
البته شاید مقایسه موارد فوق از دیدگاهی صحیح نباشد، بدلیل اینکه بعضی از آنها فریم ورک، بعضی زبان برنامه نویسی و بعضی نیز هدف اصلیشان کار دیگری بوده ولی تمامی آنها ابزارهایی برای تولید برنامه های سرور در اختیار توسعه دهندگان قرار می دهد.