لغت نامه اندرویدی - اصطلاحاتی که یک برنامه نویس اندروید باید بداند
سلام دوستان
به نظرم ایده و فکر جالبیه و قطعا میتونه مفید واقع بشه و اتلاف وقت نیست.
هر واژه ای که تو دنیای اندروید به ذهنتون رسید و یا اینکه باهاش برخورد کردین و رو اینجا درباره اش بنویسید تا یه لغتنامه کاملی درست بشه
API چیست؟
API مخفف application programming interface (رابط برنامهنویسی نرمافزار) واسطهای است بین یک کتابخانه با برنامههایی که از آن کتابخانه تقاضای سرویس میکنند.
به صورت ساده و قابل فهم، API ها مثل function هایی هستند که در یک سرور (یا سیستم عامل) وجود دارد و یک برنامه نویس در برنامه خود میتواند آنها را فراخوانی و استفاده کند بدون اینکه به سورس و نحوه عملکرد آن دسترسی داشته باشد.
به عنوان مثال ویندوز یک سیستم عامل کدبسته (غیر اپن سورس) است اما مایکروسافت برای ویندوز، APIهایی قرار داده است که با استفاده از آنها، برنامهنویسان میتوانند از قابلیتها و سرویسهای سیستمعامل ویندوز در توسعه و نوشتن برنامههای کاربردی خود استفاده کنند.
API های تحت وب
API های تحت وب به مراتب گستردهتر، پرکاربردتر و از همه مهمتر؛ مستقل از سیستمعامل است. یعنی یک برنامه ممکن است روی سیستم عامل linux باشد اما شما که یک سرور ویندوزی دارید، میتوانید از API آن به سادگی استفاده کنید.
SOAP و REST دو گروه معروف از API های تحت وب هستند که دومی سادهتر و استفاده از آن آسانتر است. اگر شما کتاب RESTful Web APIs را که تازه چاپ شده، دانلود و مطالعه بفرمایید، بیشتر با آن آشنا میشوید.
سایتهای پربازدید و شبکههای اجتماعی معمولا API دارند که موجب میشود برنامه (اپلیکیشن)های زیادی برای تعامل با آنها (نمایش/جستجو/نوشتن) در سیستمعاملهای مختلف ایجاد شود و معمولا تعداد بسیار زیادی از کاربران از همین طریق از شبکههای اجتماعی استفاده میکنند.
معرفی چند نمونه API
در این مطلب میتوانید 15 تا از API های ساده تا پیشرفته تحت وب را ببینید و از آن استفاده کنید. یکی از جذابترین API های معرفی شده در این لیست برای من API مربوط به تبدیل فایل بود که به کمک آن میتوانید هر نوع فایل (صوتی/تصویری/متنی/...) را به نوع دیگر تبدیل کنید!
مثلا میتوانید یک فایل wma یا wav را به mp3 تبدیل کنید یا یک فیلم avi را به mp4 :)
یا میتوانید یک فایل word تحویل بدهید و یک فایل txt تحویل بگیرید و ...
API های سرویس آپلود فایل: به شخصه از این API ها زیاد استفاده کردهام.
بسیاری از سرویسهای اشتراک فایل یا آپلودسنترهای معتبر، دارای یک رابط برنامه نویسی API برای developper ها هستند که به برنامه نویس امکان میدهد به سادگی فایلهای موردنظرش را در آن سرویس آپلود کند. از جمله آنها میتوان به filecloud.io و ge.tt و ... اشاره کرد.
ناگفته نماند که برخی از اینگونه سایتها، امکان آپلود از طریق ftp را نیز در اختیار کاربر قرار میدهند که کار را بسیار سادهتر میکند .از جمله این سایتها نیز میتوان uploading.com و archive.org را نام برد.
چگونه API موردنیازم را پیدا کنم؟
ممکن است شما برای کارتان به یک API نیاز داشته باشید. اولین راهی که برای یافتن API کارآمد به ذهن هر کس میرسد، جستجو در گوگل یا پرسش در استکاورفلو است. اما علاوه بر آن شما میتوانید از سایت Mashape نیز در این جهت استفاده کنید. در این سایت انواع API های مختلف لیست شده و قابل جستجو است.
چگونه برای سایت خودم API بنویسم؟
ممکن است فکر کنید که نوشتن یک API برای یک سایت سخت است اما اینطور نیست. نوشتن API آسانتر از نوشتن برنامه کامل یک سایت است زیرا در API صرفا قرار است حسب آدرس درخواستی، دادهها (اطلاعات) با ساختاری که از قبل تعیین کردید (مثلا JSON) به عنوان پاسخ آورده شود.
همچنین همانطور که بخشی از یک سایت میتواند فقط مختص کاربران احراز هویت شده باشد، در API هم میتواند همه یا بخشی از آن مختص کاربرانی باشد که احراز هویت شدهاند. البته یک نکته ظریف وجود دارد و آن اینکه در API نمیتوان کپچا گذاشت چون API ها توسط برنامهها (و نه انسان) استفاده میشود. لذا API های متداول، به جای user, password از یک کلید رندوم مثلا 50 کاراکتری به نام API key استفاده میکنند که تشخیص آن عملا غیرممکن است (برخلاف پسوردها که معمولا کوتاه است و با حمله brute force میتوان آن را حدس زد). ضمن اینکه در این روش، پسورد کاربر محفوظ میماند و با API key های مختلف، میتوان نظارت و کنترل بهتری روی برنامه API داشته باشیم.
اگر هنوز در برنامهنویسی با PHP چندان مسلط نیستید، کتابخانههای PHP وجود دارد که برای شروع API نویسی، نمونه خوبی هستند
به نقل از علیرضا معظمی
JSON چیست؟
جيسان يا JSON =JavaScript Object Notation يك فرمت تبادل داده سبك (lightweight) ميباشد كه خواندن و نوشتن آن براي انسان و توليد و پارس كردن آن براي ماشينها آسان است. اين زبان بر مبناي يك زير مجموعه از زبان برنامهنويسي JavaScript ، استاندارد ECMA-262 ويرايش سوم - دسامبر 1999، است. JSON بصورت متني (text) بوده و كاملاً مستقل از زبان بكار رفته است، اما از قوانيني استفاده ميكند كه براي برنامهنويسان زبانهاي خانواده C (شامل C ، C++ ، Java ، JavaScript ، Perl ، Python ، و بسياري زبانهاي ديگر) آشنا ميباشد. اين خصوصيات JSON را يك زبان تبادلدادهاي ايدهآل كرده است.
JSON بر اساس دو ساختار ساخته شده:
يك مجموعه از زوجهاي نام/ارزش (name/value). در زبانهاي گوناگون اين ساختار يك شيء (object) ، ساختار (struct) ، ديكشنري (dictionary) ، جدول مخلوط (hash table) ، ليست كليددار (keyed list) يا آرايه انجمني (associative array) شناخته ميشود. •يك ليست منظم از ارزشها. در بسياري از زبانها اين ساختار يك آرايه ( array) ، بردار (vector) ، ليست (list) ، يا دنباله (sequence) شناخته ميشود.
اينها ساختار دادههاي عمومي هستند. همه زبانهاي برنامهنويسي مدرن يكي از آنها را پشتيباني ميكنند. منطقي است كه يك فرمت داده قابل استفاده توسط زبانهاي برنامهنويسي مختلف بر مبناي اين ساختارها باشد.
در JSON از فرمهاي زير استفاده ميشود:
يك شيء (object) يك مجموعه نامنظم از زوجهاي نام/ارزش است. يك object با { (آكولاد باز) شروع، و با } (آكولاد بسته) تمام ميشود. در انتهاي هر نام يك : (دو نقطه) قرار ميگيرد و زوجهاي نام/ارزش با , (ويرگول) جدا ميشوند.

يك array يك مجموعه (collection) منظم از ارزش > (value) ها است. يك array با [ (براكت باز) شروع، و با > ] (براكت بسته) تمام ميشود. ارزشها توسط , (ويرگول) از هم جدا ميشوند.

يك value ميتواند يك رشته (string) داخل " ، يا يك عدد ، يا true يا false يا null ، يا يك object يا يك array باشد. اين ساختارها ميتوانند تو در تو باشند.

يك string يك مجموعه از صفر يا بيشتر كاراكترهاي يونيكد (Unicode) است، كه با استفاده از backslash escapes داخل " قرار گرفته. يك كاراكتر به صورت يك رشته تك كاراكتري نمايش داده ميشود. رشته بسيار شبيه رشته در C يا Java است.

عدد (number) بسيار شبيه عدد در C يا Java است، به استثنا اينكه از فرمتهاي دهدهي و هگزادسيمال استفاده نميشود.

فضاي خالي (Whitespace) ما بين هر جفت از نشانهها (token) ميتواند قرار گيرد. به جز تعدادي از جزييات رمزگذاريها (encoding detail) كه زبان را شرح ميدهند.
در JavaScript، ما به چند طریق می تونیم Object ایجاد کنیم. یکی از اون روشها، اینه:
var obj = new Object(); obj.myProp = "propVal";
اینجا یه Object ایجاد کردم و Property ی myProp اش رو مساوی "propVal" گذاشتم. حالا همین کارو می تونم بدین شکل انجام بدم:
var obj = {
myProp: "propVal"
};
به این حالت دوم میگن JavaScript Object Notation یا JSON...
اما این کجا به درد میخوره؟ فرض کنید می خواهید اطلاعاتی رو از سرور دریافت کرده یا به سمت سرور ارسال کنید. از اونجاییکه قالب XML حاوی اطلاعات Boilerplate بوده و پردازش JSON در Browser ها بسیار ساده هستش، یکی از روشهای نوین انتقال اطلاعات استفاده از قالب JSON هستش. تابع getJSON درخواستی رو به سمت سرور ارسال میکنه و پاسخ دریافتی رو که بصورت JSON از سرور برمیگرده، دریافت کرده و برای استفاده شما مهیا میکنه:
$.getJSON('sitepath/test.php', function(data) {
//Do whatever that suits your needs using data...
});
اینجا، درخواستی به test.php ارسال میشه و پاسخ که یک JSON Data هستش تحت عنوان پارامتر data بدست شما میرسه و شما قادر خواهید بود تا براحتی از data ی مورد نظر استفاده کنید... اطلاعات بیشتر در خصوص این تابع رو میتونید اینجا بدست بیارید (http://jqapi.com/#p=jQuery.getJSON).
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
