فریمورک بعدی که به معرفی آن میپردازم Kitura هست
شرکت IBM در سال ۲۰۱۶ فریمورک Kitura را معرفی کرد که درحال حاضر سومین فریمورک پر طرفدار Swift با حدود ۷۰۰۰ ستاره در گیتهاب است. بین ۳ شرکت کننده اصلی سوم شده! ;) مهمترین نقطه قوت این فریمورک وجود غولی به نام IBM در کنار آن است. اگر دنبال فریمورکی با پشتیبانی کامل و ۲۴ ساعته هستین IBM این امکان را به شما میدهد و میتونین با خیال راحت توسعه پروژه خود با این فریمورک را شروع کنید و از بر خوردن به مشکل در طول کار ترسی نداشته باشین.
از طرفی با استفاده از سرویس IBM Cloud به راحتی میتونین پروژه Kitura ی خودتون رو به سرورهای ابری IBM منتقل کنین و دردسر نصب و راه اندازی روی سرور خودتون رو نداشته باشین. قطعا کسانی که برنامه نویسی Server-side انجام داده اند با مشکلات deploy کردن پروژه خود بر روی سرور آشنا هستند و میدونن که وجود سرویسی که پروژه رو به راحتی و بدون دردسر به سرور منتقل رو راه اندازی کنه نعمت بزرگیه!
تعدادی از امکاناتی که IBM Cloud به پروژه های Kitura میده:
یک API کامل برای بررسی وضعیت برنامههای موجود در سرور
امکان دسترسی ساده و راحت به Environmental Variables به فرمت JSON
ابزاری برای بررسی و مدیریت وضعیت کارایی برنامههای روی سرور که هم به صورت پنل مدیریتی و هم به صورت API در اختیار شما قرار داده میشه.
به راحتی API های نوشته شده در Kitura را به فرمت Swagger تبدیل میکند
کتابخانه HTTP Networking برای فرستادن درخواست ها (Requests) توسط Swift
علاوه بر آن IBM ابزار جدیدی به نام KituraStudio معرفی کرده است که البته در حال حاضرنسخه بتای آن منتشر شده است. KituraStudio یک IDE کامل برای زبان Swift و استفاده از Kitura است. اگر بر روی لینوکس برنامه نویسی میکنین و به همین دلیل امکان استفاده از XCode رو ندارین حتما از این ابزار استفاده کنین.
فریمورک Kitura از نسخه 2.5.0 به بعد، از Swift-NIO استفاده میکنه که البته به صورت دلخواه میتونین استفاده از آن رو در پروژه روشن یا خاموش کنین. (برای آشنایی بیشتر با Swift-NIO).
کتابخانه های از پیش نوشته شده در این فریمورک :
از لحاظ ارتباط با دیتابیس از اکثر دیتابیس های معمول بازار پشتیبانی میکنه.
کیتورا ابزاری ساده ای برای مدیریت پروژه از طریق Command Line دارد که فعلا بیش از چند دستور ساده ندارد ولی برای ساختن پروژه خالی، کامپایل و deploy کردن به IBM Cloud کفایت میکنه.
کتابخانه ORM این فریمورک Kuery نام داره و همین طور که در بالا اشاره شد از تعداد خوبی از دیتابیس ها پشتیبانی میکنه و از تقریبا از تمامی دستورات SQL پشتیبانی میکنه. استفاده از Kuery نیاز شما رو از نوشتن دستورات به صورت Raw SQL Query واقعا بی نیاز میکنه. اگر در هنگام توسعه یک پروژه یا پس از اتمام آن مجبور به تغییر دیتابیس مورد استفاده در پروژه تون شده باشین، میدونین که بزرگترین مشکل شما تغییر تمامی کوئری هایی هست که به صورت Raw نوشته شده باشن و از ORM استفاده نشده باشه. پس وجود یک کتابخانه ORM کامل، فوق العاده بدرد بخوره.
برای تولید محتوای HTML کیتورا از فرمت های Mustache, Stencile و Markdown پشتیبانی میکند و خودش اقدام به تولید سیستم Template جدیدی نزده. از اونجایی که این فرمت ها بسیار شناخته شده هستن کار شما برای تولید محتوای HTML ساده است.