الان قصد دارم شمارو با یکی دیگه از فریم ورکهای قدرتمند پایتون بنام Twisted آشنا کنم.
فریم ورک Twisted برای کار در بستر شبکه ساخته شده.Twisted نه تنها یکی از قدرتمندترین فریم ورکهای شبکه در پایتون محسوب میشه،بلکه یکی از قدرتمندترین ابزارهای شبکه در جهان فناوری محسوب میشه.از twisted در خیلی جاها از جمله facebook و حتی در یاهو و گوگل وناسا داره استفاده میشه.البته ناسا و گوگل و یاهو و یوتیوب فقط در بخش شبکه از پایتون بهره نمی برند، بلکه بستر اصلی آنها پایتون هست.مخصوصا ناسا و گوگل.
برای اثبات اینم لینک بعضی هاشون:
۱- ناسا:
http://www.python.org/about/success/usa/ و یکی از برنامه های ناسا
http://code.nasa.gov/language/python/۲- موتور جستوجو گر گوگل
http://python.about.com/od/gettingstarted/ss/whatispython_3.htm و
http://quintagroup.com/cms/python/google۳- ...
.
.
. واقعا خیلی هست.
در کل این مرجع خوبی هست برای موارد استفاده شده از پایتون
http://www.python.org/about/success/ و
http://en.wikipedia.org/wiki/List_of_Python_software-بریم سر اصل مطلب، که Twisted هست!
چه کارهایی میشه با این کتابخونه کرد؟
جواب:سوکت پروگرمینگ در حد عالی، برنامه چت در حد عالی، TCP servers, clients, transport layer security،SSH client and server،IMAP4, ESMTP, POP3 clients and servers،DNS client and server،HTTP client and server،IRC, XMPP, OSCAR,،MSN clients and servers و خیلی موارد دیگه از جمله وب سوکت که بهترین فریم ورک آن tornado هست که facebook از این داره استفاده میکنه. البته خود tornado فریم ورک غولی هست، که توضیحش خودش یک بخش میشه.
از هنرها و قدرت این فریم ورک(twisted) به مبحث event-driven اون میشه اشاره کرد، که اگه بخوام خلاصه event-driven رو توضیح بدم میشه:هندل کردن eventها بدون اینکه بخواهند پشت سر هم اجرا بشند.یعنی بلوکینگ نیستند و هر وقت هر چندتا ایونت که خواستید میتونید ارسال یا فراخوانی کنید. در آنِ واحد قادر به ارسال تعداد بی شماری ایونت خواهید بود.(به تعبیری بر خلاف threads می باشد و بیشتر از آن)
نکته مهم دیگه اینه که twisted بسیار کم مصرفه از نظر مصرف حافظه و resource، شاید یکی از علتهای اون مبحث ایونتی آن هست،هروقت ایونتی اتفاق بیوفته یک تابعی کال میشه. این شاید یک دلیل شفاف این موضوع باشه.
امیدوارم اطلاعاتم براتون مفید باشه.