استفاده از Google Base و Google Gears برای تجربه آفلاین و کارآمد

اولین مقاله از سری "ساخت برنامه های بهتر Ajax با API های Google".

دیون آلمر و پاملا فاکس، گوگل
ژوئن 2007

توجه ویرایشگر: Google Gears API دیگر در دسترس نیست .

مقدمه

با ترکیب Google Base با Google Gears، نحوه ایجاد یک برنامه کاربردی را نشان می‌دهیم که بتوان از آن به صورت آفلاین استفاده کرد. پس از خواندن این مقاله، با Google Base API بیشتر آشنا خواهید شد و همچنین نحوه استفاده از Google Gears برای ذخیره و دسترسی به تنظیمات و داده های کاربر را درک خواهید کرد.

درک اپلیکیشن

برای درک این برنامه، ابتدا باید با Google Base آشنا شوید، که اساساً یک پایگاه داده بزرگ از اقلام است که شامل دسته‌های مختلف مانند محصولات، نظرات، دستور العمل‌ها، رویدادها و موارد دیگر است.

هر مورد با عنوان، توضیحات، پیوند به منبع اصلی داده ها (در صورت وجود)، به علاوه ویژگی های اضافی که در هر دسته بندی متفاوت است، حاشیه نویسی می شود. Google Base از این واقعیت استفاده می کند که اقلام در یک دسته دارای مجموعه ای از ویژگی های مشترک هستند - برای مثال، همه دستور العمل ها دارای مواد تشکیل دهنده هستند. موارد پایه Google حتی گاهی اوقات در نتایج جستجو از جستجوی وب Google یا جستجوی محصولات Google نشان داده می شوند.

برنامه آزمایشی ما، Base with Gears ، به شما امکان می‌دهد جستجوهای رایجی را که ممکن است در Google Base انجام دهید، با «شکلات» (یوم) یا تبلیغات شخصی با «راه رفتن در ساحل» (عاشقانه!) ذخیره و نمایش دهید. می‌توانید آن را به‌عنوان یک «Google Base Reader» در نظر بگیرید که به شما امکان می‌دهد در جستجوها مشترک شوید و هنگام بازدید مجدد از برنامه، یا زمانی که برنامه برای جستجوی فیدهای به‌روز شده هر 15 دقیقه یکبار خارج می‌شود، نتایج به‌روز شده را ببینید.

توسعه‌دهندگانی که به دنبال گسترش برنامه هستند می‌توانند ویژگی‌های بیشتری اضافه کنند، مانند هشدار بصری به کاربر زمانی که نتایج جستجو حاوی نتایج جدید است، به کاربر اجازه می‌دهند آیتم‌های مورد علاقه خود را نشانک‌گذاری کنند (ستاره‌گذاری کنند) (آفلاین + آنلاین)، و به کاربر اجازه دهند جستجوهای ویژگی‌های دسته‌بندی خاص مانند Google Base را انجام دهد.

استفاده از Google Base Data API Feeds

Google Base را می توان به صورت برنامه نویسی با Google Base data API که با چارچوب Google Data API سازگار است، پرس و جو کرد. پروتکل Google Data API یک پروتکل ساده برای خواندن و نوشتن در وب ارائه می دهد و توسط بسیاری از محصولات Google استفاده می شود: Picasa، صفحات گسترده، بلاگر، تقویم، نوت بوک و موارد دیگر.

فرمت Google Data API مبتنی بر XML و پروتکل انتشار اتم است، بنابراین بیشتر تعاملات خواندن/نوشتن در XML است.

نمونه ای از فید Google Base بر اساس Google Data API به شرح زیر است:
http://www.google.com/base/feeds/snippets/-/products?bq=digital+camera

نوع فید snippets فید اقلام در دسترس عموم را به ما می دهد. -/products به ما امکان می دهد فید را به دسته محصولات محدود کنیم. و پارامتر bq= به ما امکان می دهد فید را بیشتر محدود کنیم، فقط به نتایجی که حاوی کلمه کلیدی "دوربین دیجیتال" هستند. اگر این فید را در مرورگر مشاهده کنید، XML حاوی گره‌های <entry> با نتایج منطبق را خواهید دید. هر ورودی حاوی نویسنده، عنوان، محتوا و عناصر پیوند معمولی است، اما همچنین دارای ویژگی‌های خاص دسته‌بندی است (مانند «قیمت» برای اقلام در دسته محصولات).

به دلیل محدودیت XMLHttpRequest بین دامنه ای در مرورگر، ما مجاز به خواندن مستقیم فید XML از www.google.com در کد جاوا اسکریپت خود نیستیم. ما می‌توانیم یک پروکسی سمت سرور برای خواندن در XML تنظیم کنیم و آن را در مکانی در همان دامنه برنامه‌مان بازگردانیم، اما مایلیم از برنامه‌نویسی سمت سرور به‌کلی اجتناب کنیم. خوشبختانه، یک جایگزین وجود دارد.