API توییتر برای دات نت فریم ورک

31 03 2009

سرویس توییتر، محبوب ترین و معروف ترین سرویس میکرو بلاگینگ در دنیای اینترنت است. این روزها کمتر کاربری را پیدا می کنید که در توییتر حساب کاربری نداشته باشد، یا حداقل نام آن را نشنیده باشد. توییتر به شما اجازه می دهد در 140 کاراکتر به دوستانتان بگویید در حال چه کاری هستید! در کنار کار اصلی اش، امکاناتی برای اجتماعی تر شدن توییتر به این سرویس محبوب اضافه شده است تا کاربران را به هم نزدیکتر کند.

پس از محبوبیت توییتر در اینترنت، ابزارهای زیادی برای کار با این سرویس ارائه شدند. برای مثال توییتر فاکس به شما امکان مدیریت اکانت توییترتان را  بدون رفتن به وب سایت توییتر،  و به صورت مستقیم از مرورگر فایرفاکس می دهد. چنین ابزارهایی برای ارتباط و کار کردن با سرویس توییتر از API این سرویس استفاده می کنند.

twitter

خب در این نوشته قصد معرفی سرویس توییتر یا ابزارهای آن را ندارم، در این نوشته می خواهم کتابخانه های مبتنی بر دات نت فریم ورک که به شما اجازه دسترسی به API توییتر را می دهند، معرفی کنم. در این صفحه از سایت توییتر می توانید پیاده سازی API توییتر را در زبان های برنامه نویسی مختلف مشاهده کنید.

Yedda Twitter Library

تمامی متدهای موجود در API توییتر، یک متد متناظر در این کتابخانه دارد. استفاده از این کتابخانه کد که بوسیله زبان سی شارپ نوشته شده است، بسیار راحت است. Yedda قادر است تایم لاین عمومی توییتر و تایم لاین خصوصی هر کاربر را در دو فرمت RSS و XML به شما تحویل دهد. دریافت

TwitterooCore API

API نرم افزار Twitteroo به صورت یک اسمبلی دات نت در اختیار شماست تا کلاینت شخصی خود را برای توییتر بسازید. آخرین نسخه این کلاینت را از اینجا (نسخه 1.5) و Core API آن را از اینجا دریافت کنید. البته این کلاینت در مقابل کلاینت های مشابهی چون توییتر فاکس حرفی برای گفتن ندارد و کیفیت خوبی هم ندارد. من هنوز ازAPI آن استفاده نکردم.

Twitterizer

این کتابخانه، رابطی کاملاً شیء گرا و Easy to use برای استفاده از API توییتر ارائه می دهد. استفاده از روش شیء گرا در ساخت این کتابخانه و آسان بودن استفاده از آن، این کتابخانه را کابردی تر از دیگر کتابخانه های ارائه شده برای دات نت فریم کرده است. پیشنهاد من به شما استفاده از همین کتابخانه خواهد بود. به علت کیفیت خوب و اوپن سورس بودن آن.

من یک نمونه برنامه کوچک با استفاده از سی شارپ 2008 برای نشان دادن قدرت این کتابخانه نوشته ام که می توانید از اینجا (لینک غیر مستقیم) دریافت کنید.

tweetsharp

توییت شارپ کتابخانه اوپن سورسی است که با تازگی ارائه شده است و تمامی ویژگی های جدید API توییتر را پوشش می دهد. این کتابخانه فعلاً در نسخه Preview به سر می برد.

farasun.wordpress.com

با استفاده از هر کدام از کتابخانه های بالا می توانید یک کلاینت شبیه اینها برای توییتر بسازید.

من یا فراسان را در توییتر دنبال کنید!

پ.ن : اگر پس از باز کردن وب سایت های Twitterizer و tweetsharp با پیغام Forbidden گوگل مواجه شدید، مشکل از ایرانی بودن شماست! متاسفانه وب سایت code.google.com برای کاربرانی که از کشور ایران وارد می شوند، قابل دسترسی نیست.





سیلورلایت 3.0 ارائه شد

28 03 2009

تمام کسانی که به تکنولوژی های روز دنیای برنامه نویسی، مخصوصاً فناوری های شرکت مایکروسافت علاقه دارند، تا به حال باید در مورد نسخه جدید Silverlight چیزهایی شنیده باشند و یا مقالاتی در مورد ویژگی های جدید آن مطالعه کرده باشند. این نسخه از سیلورلایت دارای ویژگی های جدیدی است که هر توسعه دهنده ی وبی را به استفاده از آن علاقه مند می کند.

18 مارس در MIX09 مایکروسافت نسخه ی بتای سیلورلایت 3.0 را معرفی کرد. در این کنفرانس که در لاس وگاس برگزار شد، علاوه بر نسخه جدید سیلورلایت، IIS 7، ASP.NET MVC Framework، IE 8، Blend 3، Visual Studio 2010 نیز مورد بررسی قرار گرفتند.  در این نوشته قصد داریم به معرفی ویژگی های جدید سیلورلایت نسخه 3.0 بتا بپردازیم.

اجرا خارج از مرورگر Out of Browser

یکی از مهمترین و پر سر و صداترین ویژگی های سیلورلایت جدید، امکان اجرای برنامه های مبتنی بر سیلورلایت بدون استفاده از مرورگر وب است.با سیلورلایت 3 قادرید اپلیکیشن هایی بسازید که خارج از مرورگر و در دسکتاپ شما اجرا می شوند. در این حالت کاربران می توانند از اپلیکیشن شما در حالت آفلاین هم استفاده کنند.

بهبود های گرافیکی

سیستم گرافیکی سیلورلایت بهبودهای زیادی در این نسخه پیدا کرده است. پشتیبانی از افکت های قابل برنامه ریزی، perspective 3D، ایجاد فایل های Bitmap با استفاده از API های جدید سیلورلایت از این جمله اند. این بهبودهای گرافیکی، توسعه دهندگان را قادر میسازد تا مانور بیشتری روی تصاویر بدهند و افکت های تصویری مطلوب خود را تولید کنند.

کنترل های جدید

چندین کنترل جدید به SDK سیلورلایت اضافه شده اند و برخی از کنترل های موجود بهبود یافته اند. در این نسخه کنترل های جدید برای اعتبار سنجی داده های ورودی و هندل کردن خطاهای رابط کاربری معرفی شده اند. این کنترل ها به هنگام وارد کردن داده ها توسط کاربر به اعتبار سنجی آن و احتمالاً نشان دادن پیغام خطا می پردازند. برخی از کنترل های موجود در Silverlight Control Toolkit از جمله WrapPanel, DockPanel, ViewBox, AutoCompleteBox,Label در SDK نسخه 3.0 سیلورلایت ارائه شده اند. کنترل جدید SaveFileDialog هم به کاربران اجازه ذخیره فایل ها را روی هارد دیسک کامپیوترشان می دهد.

کنترل های پیشرفته تر مثل DataForm که امکان کار با داده ها (اضافه کردن، حذف و ویرایش) و حرکت میان آن ها را به شما می دهد. DataPager که امکان مرور صفحه به صفحه داده ها را به کاربر نهایی می دهد و Navigation Framework که برای حرکت میان صفحات یک اپلیکیشن سیلورلایت کاربرد دارد.

قابلیت های چند رسانه ای

چیزی که از قبل معلوم بود، پشتیبانی سیلورلایت 3.0 از فرمت های H264 و ACC است. پشتیبانی از RAW و امکان ایجاد Codecهای سفارشی توسط توسعه دهندگان از دیگر قابلیت های اضافه شده به سیستم مالتی مدیای سیلورلایت است.

بهبود کیفیت رندر متون Text Rendering

استفاده از افکت های انیمیشنی در متن ها و ایجاد متونی واضح تر برای کاربر در این نسخه از سیلورلایت بیشتر به چشم می آیند. با استفاده از API جاوا اسکریپت موجود در این نسخه، اپلیکیشن های سیلورلایت می توانند از فونت های محلی روی سیستم کاربر نیز علاوه بر فونت های روی سرور، استفاده کنند، که این باعث کاهش زمان بارگذاری اپلیکیشن می شود. در نسخه نهایی سیلورلایت قرار است از فناوری ClearType هم برای افزایش کیفیت متون استفاده شود.

بایند کردن عنصر به عنصر Element-to-Element Binding

این قابلیت به عناصر موجود روی رابط کاربری اجازه بایند شدن به مشخصات (Properties) یکدیگر را می دهد. مثلاً بدون کد نویسی می توانید مقدار یک Slider را به پراپرتی Text یک TextBox نسبت دهید. با این کار هر گاه مقدار Slider توسط کاربر تغییر کند، مقدار Text مربوط به TextBox به صورت خودکار آپدیت می شود.

Network Monitoring API

با استفاده از این API خواهید توانست اتصال به اینترنت را در یک اپلیکیشن سیلورلایت چک کنید. برخی مواقع لازم است که بدانید کاربر با اینترنت ارتباط دارد یا از آن Disconnect شده است.

Binary XML

برای ارتباط با سرویس های WCF، علاوه بر فرمت معمولی مبتنی بر متن XML، می توانید از فرمت فشرده Binary XML در سیلورلایت 3 استفاده کنید.

سرویس های .NET RIA

به همراه سیلورلایت 3 بتا، مایکروسافت فریم ورک .NET RIA Services را منتشر کرده است. این ابزار سعی می کند تا معماری n-tier را ساده تر کند و دو فناوری Silverligt و ASP.NET را به هم نزدیک تر نماید. .NET RIA Services الگویی برای نوشتن منطق برنامه در لایه میانی اپلیکیشن به شما ارائه می کند و دستیابی به داده ها را کنترل می کند. وظیفه هایی مثل اعتبار سنجی داده ها، تشخیص هویت و ارتباط میان سیلورلایت در کلاینت و ASP.NET در لایه میانی را بر عهده دارد.

واضح است که در این مطلب کوتاه نمی توان به بررسی تمام ویژگی های جدید سیلورلایت 3.0 پرداخت. مایکروسافت تمام تلاش خود را می کند تا آینده دنیای نرم افزار را در دست بگیرد و استانداردهای نرم افزارهای آینده را از همین حالا تعیین کند. مایکروسافت قدم های اولیه را خیلی وقت است به درستی برداشته است و در این راه با وجود رقبای بزرگی مثل گوگل، IBM و ادوبی تا به حال موفق بوده است. باید منتظر ماند و دید آیا تلاش مایکروسافت منجر به ظهور انقلابی در دنیای برنامه نویسی و نرم افزار خواهد شد یا خیر.

در مطالب بعدی در مورد ابزارهای عرضه شده برای توسعه اپلیکیشن های سیلورلایت 3.0 و در کل فناوری سیلورلایت بیشتر خواهید خواند. برای اینکه این مطالب را از دست ندهید، مشترک فراسان شوید.

شاید این مطالب هم برای شما خواندنی باشند :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟





امسال وبلاگستان فارسی عید ندارد! اما نوروزتان پیروز!

19 03 2009

نوروز باستانی بر همه شما عزیزان مبارک! امیدوارم سال 88 سالی پر از موفقیت و کامیابی و خالی از غم و غصه برای خوانندگان عزیز این وبلاگ و کاربران جامعه وردپرس.کام فارسی باشد.

امید دارم در سالی که پیش روست، شرکت معظم مخابرات محترم دست از سر بخش فارسی وردپرس.کام بردارد. امید دارم در سال 88 شرکت معظم گوگل سیاست های غلط خودش را در مورد کاربران ایرانی عوض کند. آن وقت از شرکت سان توقعی ندارم. امید دارم در سال جدید شاهد هک شدن سایت هایی مثل بالاترین نباشیم. دوست دارم بعد از انتخابات سال 88 هم به راحتی و بدون دغدغه به فیس بوک، دلشیز، دیگ و فلیکر لاگین کنم، فرندفید پیش کش.

گوگل

گوگل امسال هم به مناسبت سال جدید پارسی، لوگوی خودش را تغییر داد

امیدوارم مدیران زحمتکش سایت های فارسی مثل کلوب، همیشه استرس فیلتر شدن وب سایت های خود را نداشته باشند و با خیال راحت به توسعه وب فارسی بپردازند. نمی دانم از هزینه و زحمت نگهداری سایت هایی مثل کلوب خبر دارید یا نه! اما اگر خبر دارید احتمالاً باید حس مدیران این سایت ها را هنگام فیلتر شدن وب سایتشان درک کنید.

سعی میکنم در سال جدید به خودم امید دهم که بلو هاست آخرین شرکت هاستینگ معروفی است که کاربران ایرانی را از خدماتش محروم می کند. امیدوارم دامنه جدید پرشین بلاگ مانند دات کام آن دزدیده نشود تا مخابرات مجبور شود آن را فیلتر کند!

امیدوارم در انتخابات سال 88، رئیس جمهوری انتخاب شود که وزیر فناوری اطلاعات و ارتباطاتش سرعت اینترنت 56k را برای مصارف خانگی مناسب نداند و دیدش از اینترنت فراتر از “دانلود کتاب” باشد. +

آروز دارم در سال 88 و سال های بعد از آن حتی، هیچ وبلاگ نویسی را خودکشی نکنند! یعنی نکند! و امیدوارم هیچ وبلاگ نویسی به خاطر عقایدش و مطالب وبلاگش شب ها با ترس و لرز سر بر بالش نگذارد و احتمالاً دستگیر و زندانی نشود!

7seen-sعید نوروز بر ایرانیان اصیل و راستین مبارک باد!

از دوستان وبلاگ نویسم میخواهم علاوه بر تبریک سال نو به خوانندگانشان، در مورد امیدها و آروزهایی که برای وبلاگستان فارسی دارند هم بنویسند. شاید سال دیگر آروزهایمان یک پله صعود کرده بود!





Oslo ; پلت فرم مدل سازی مایکروسافت

12 03 2009

توسعه بر مبنای *مدل اغلب اشاره به پروسه توسعه ای دارد که مدل هایی از اپلیکیشن ساخته می شود و داده ها به عنوان مشخصات سیستم در نظر گرفته می شوند. برای استفاده از روش توسعه مبتنی بر مدل بایستی یک پروسه توسعه و پلت فرم نرم افزاری در اختیار داشته باشید که قادر باشد تا به شما امکان استفاده از مدل ها (انواع منطقی داده ها و ارتباط ها) به عنوان هسته توسعه اپلیکیشن و پیاده سازی اجزای نرم افزاری بر مبنای مدل، که پیش نیازهای یک نرم افزار بر مبنای مدل را رعایت می کنند، را بدهد. مدل های تعیین شده در طراحی نرم افزار به هنگام پیاده سازی به بخش های مختلف توسعه نسبت داده می شوند. توسعه بر مبنای مدل با دید انتزاعی سعی در پنهان کردن پیچیدگی ها دارد و بیشتر روی تمرکز بر روی اجزای با اهمیت تاکید می کند.

Oslo نسل بعدی پلت فرم توسعه مایکروسافت

محصول جدید مایکروسافت با کد نام “Oslo” قصد دارد تا توسعه دهندگان را در ساخت نرم افزارهای پیچیده و بزرگ مبتنی بر دیتابیس بوسیله ابزارهای مناسب یاری کند. مدل سازی در اینجا یعنی بیشتر مشخصات و تعریف های نرم افزار با داده ها پیاده سازی شوند به طوری که پلت فرم و شما بتوانید هر چه آسانتر با استفاده از یک کوئری به مقصود اصلی خود برسید. تکنولوژی های مایکروسافت چند وقتی است در این مسیر حرکت می کنند، برای نمونه XAML, .NET metadata attribute, COM type libraries همگی روی نوشتن مشخصات به عنوان داده و اجتناب از کد کردن آن ها در سطوح پایین (مثل دستورات IL در دات نت) تاکید دارند. پلت فرم Oslo میخواهد این راه را ادامه دهد.

Microsoft Oslo

اجزای تشکیل دهنده Oslo

پلت فرم مدل سازی Oslo با استفاده از اجزای زیر موارد بالا را در اختیار شما قرار می دهد :

  • ابزار طراحی بصری با کد نام “Quadrant” که به شما در پروسه طراحی قوانین تجاری اپلیکیشن ها کمک می کند. این ابزار با استفاده از شکلک های گرافیکی فلوچارت مانند به شما در طراحی مدل های یک اپلیکیشن کمک می کند.
  • یک زبان مدل سازی به نام “M” که شما بایستی برای توسعه مدل های خود از آن استفاده کنید. زبان M زبانی اعلانی (Declarative) برای کار کردن با داده ها و ساختن مدل هاست. M به برنامه نویسان اجازه می دهد تا ساختار داده های خود را تعریف کنند و کوئری های متناسب با نیاز خود ایجاد کنند.
  • مخزن Oslo که یک دیتابیس SQL Server است و مدل ها را به عنوان اشیاء و نمونه (Instance)های مدل ها را به عنوان سطرهای یک جدول (Table) برای پیاده سازی شمای آن، در SQL Server ذخیره می کند. مدل ها و نمونه هایی از مدل ها به صورت بصری یا با استفاده از M یا هر API دسترسی به SQL دیگری (مثل ADO.NET) ایجاد می شوند.

در هر صورتی که شما داده های مدل ها را ایجاد کنید یا تغییر دهید (با استفاده از ابزار بصری، استفاده از M یا هر API دسترسی به SQL)، تمام اطلاعات مدل سازی در یک دیتابیس رابطه ای (Ralational Database) که به آن Oslo Repository گفته می شود، در هنگام اجرا (Runtime) در دسترس اند.

شرکت مایکروسافت فعلاً قصد ارائه Oslo را به عنوان بخشی از ویندوز یا دات نت فریم ورک ندارد. این شرکت نسخه CTP پلت فرم مدل سازی Oslo را برای دانلود عمومی روی سایت خود قرار داده است که می توانید از اینجا SDK آن را دریافت کنید. مدل سازی چند وقتی است در کانون توجه مایکروسافت قرار گرفته و آنچه مسلم است در آینده ای نه چندان دور در مورد Oslo بیشتر خواهیم شنید.

ویدئوی بررسی Oslo

در ویدئوی زیر Paul Vick که چندی قبل در تیم طراحی زبان Visual Basic مایکروسافت همکاری میکرده است، و حالا بر روی زبان مدل سازی M و پلت فرم Oslo کار می کند، در مورد Oslo اطلاعات خوبی به شما خواهد داد. در این ویدئو آقای Vick در مورد پلت فرم Oslo و اهداف آن، زبان مدل سازی M، ابزار Quadrant و مخزن رابطه ای Oslo صحبت می کند. توصیه می کنم برای تکمیل این مطلب ویدئوی زیر را حتماً مشاهده کنید.


*مدل : در معنای عام، مدل نمایش انتزاعی از یک آیتم یا مفهوم است (مانند یک ماشین یا یک ساختمان). به طور مثال یک آرشیتکت ساختمان ابتدا مدل ساختمانی که قرار است بسازد را روی کاغد پیاده سازی می کند و نیازی به استفاده از بیل و کلنگ در ابتدای کار ندارد. در دنیای نرم افزار هم Model برای همین منظور به کار می رود، یعنی مدل سازی مشخصات نرم افزار قبل از پیاده سازی آن ها.

سایت رسمی Oslo

برای تکمیل مطلب و مشاهده مثال عملی می توانید مطالب آموزشی آقای وحید نصیری در مورد Oslo و زبان M را در اینجا مطالعه کنید.