برنامه نویسی موبایل با استفاده از Xamarin.Forms

مشخصات این دوره:

عنوان ترم جاری: خرداد ماه 96 (1)
مدرس: مهدی کرامتی
تاریخ شروع دوره: دوشنبه 8 خرداد 1396
روز برگزاری: دوشنبه
ساعت: 17:00 تا 20:00
طول مدت دوره: 30 ساعت (متوالی 10 جلسه )
شهریه: 600,000 تومان
 

خلاصه

پیش از این برای ایجاد برنامه های موبایل بر روی سیستم عامل های اندروئید، iOS و ویندوز فون میبایست از زبان ها و تکنولوژی های متفاوتی  استفاده می کردیم. همچنین شکل ظاهری برنامه های ما در سیستم عامل های فوق بسیار متفاوت می شد.

هم اکنون با وجود Xamarin.Forms که محصولی نه چندان جدید (این محصول در سال 2011 پایه گذاری شده است) از گروه Xamarin در مایکروسافت است می توانید یک بار برنامه تان را با برخورداری از امکاناتی مانند ویژوال استودیو، زبان سی شارپ، انطباق با الگوی MVC و MVVM، امکان اتصال به انواع وب سرویس ها و دیتابیس ها، امکان استفاده از API های خاص هر سیستم عامل،  امکان استفاده از گستره بیشتری از امکانات چینش صفحه و کنترل های اضافه تر قابل استفاده در صفحات نسبت به آنچه که در سیستم عامل اندروئید و iOS ارائه می شود،  امکان استفاده از LINQ عزیز! ، و ... بنویسید و با یک بار کامپایل، خروجی مناسب برای 3 سیستم عامل های فوق را به صورت جداگانه دریافت کنید.

مزایای Xamarin.Forms به طور خلاصه عبارتند از:

  • برخورداری از امکانات Xaml و MVVM
  • انطباق با الگوی MVC
  • ایجاد 3 خروجی از روی یک پروژه موبایل
  • ایجاد اپلیکشن های به صورت Native برای هر سیستم عامل موبایل
  • منطق مشترک بین تمام برنامه های فوق
  • یکپارچه سازی با API های خاص هر سیستم عامل
  • امکان استفاده از کامپوننت های آماده موجود در Component Store
  • بهره مندی از مزایای زبان سی شارپ
  • مناسب برای اپلیکشن های آنلاین و آفلاین
  • مناسب برای نوشتن پروژه های بزرگ

مطالب مهم این دوره

سرفصل های این دوره آموزشی به صورت خلاصه عبارتند از:

  1. برنامه نویسی موبایل با استفاده از Xamarin
  2. ایجاد رابط کاربری برنامه های Mobile
  3. طراحی رابط کاربری با استفاده از Layout ها
  4. تعامل با کاربر با استفاده از Control ها
  5. ایجاد یک لیست قابل Scroll
  6. پیمایش (Navigation)
  7. دسترسی به داده ها با استفاده از SQLite و Data Binding
  8. Custom Renderer ها
  9. ساختار Cross Platform

فهرست کامل سرفصل های این دوره را می توانید در انتهای همین صفحه مشاهده کنید.


پیش نیازها

پیش نیازهای این دوره عبارتند از:


نحوه ثبت نام

برای ثبت نام می توانید مبلغ شهریه را به صورت کامل و یا بخشی از آن (پیش پرداخت) به صورت آنلاین، واریز به حساب بانکی و یا کارت به کارت پرداخت کنید.

کل مبلغ شهریه میبایست در اولین جلسه تشکیل کلاس تسویه شود.

پرداخت آنلاین با کلیه کارتهای بانکی عضو شبکه شتاب و با داشتن رمز دوم کارت، و CVV2 قابل انجام است.

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

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


سرفصل های این دوره به شرح زیر است:

  1. برنامه نویسی موبایل با استفاده از Xamarin
    • Xamarin چیست؟
      • پوششی بر Native Api ها
      • محیط های برنامه نویسی
      • UI Designer ها
    • استفاده از قابلیت های زبان سی شارپ و توانایی های ‎.Net
    • ویژگی های و توانایی های Mobile
      • Mobile UI
        • پوشش رابط کاربری وابسته به سیستم عامل موبایل در Xamarin.Forms
        • طراحی رابط کاربری موبایل
        • Custom Renderer های Xamarin.Forms
      • لایه دسترسی به داده ها (Data Access Layer)
      • دسترسی به داده های Local با استفاده از SQLite
      • اتصال به داده ها (Data Binding)
      • توسعه Cross Platform
  2. ایجاد رابط کاربری برنامه های Mobile
    • آشنایی با Xamarin.Forms
      • مرور ساختار Solution در Xamarin.Forms
    • آشنایی با روند Platform-Specific UI
      • ساختار Platform-Specific UI
      • Xamarin.Android
      • Xamarin.iOS
      • Windows Phone SDK
    • استفاده از Xamarin.Forms یا Platform-Specific UI ؟ کدام بهتر است؟
      • استفاده از هر دو روند با بکار گیری Custom Renderer ها
    • بررسی عناصر Mobile UI ها
    • استفاده از Xamarin.Forms UI
      • Page
      • Layout
      • View
    • ایجاد یک Xamarin.Forms Solution
      • کد اشتراکی Xamarin.Forms
        • متدهای چرخه حیات Application: متد OnResume, OnSleep, OnStart
        • ایجاد صفحات با استفاده از Content Page
      • Xamarin.Android
      • Xamarin.iOS
      • Windows Phone Application
      • کتابخانه Core
      • تنظیم صفحه اصلی برنامه
    • افزودن View های Xamarin.Forms
      • Label View
      • قرار دادن View ها با استفاده از StackLayout
      • رنگ پس زمینه و رنگ فونت
      • استفاده از فونت ها
      • استفاده از فونت های Platform-Specific
      • Button View
      • تنظیم تراز و اندازه View با استفاده از HorizontalOptions و VerticalOptions
        • تراز بندی با استفاده از LayoutOptions
        • AndExpand Pads با استفاده از Space
      • وارد کردن متن Entry View
      • Box View
      • Image View
        • پراپرتی Source
        • Image ها Local
        • اندازه بندی Image ها با استفاده  از پراپرتی Aspect
        • ایجاد یک Image قابل کلیک با استفاده از GestureRecognizer
      • نهایی کردن StackLayout
      • ScrollView
      • مقداردهی به پراپرتی ContentPage.Content
      • Padding کردن اطراف صفحه
  3. طراحی رابط کاربری با استفاده از Layout ها
    • آشنایی با Custom Control ها
    • آشنایی با Layout های Xamarin.Forms
      • StackLayout
        • Padding نسبت به اطراف Layout
        • Stack کردن با استفاده از گرایش عمودی
        • Stack کردن با استفاده از گرایش افقی
        • Layout های تو در تو
        • Expand کردن و Padding در View ها با استفاده از LayoutOptions
      • RelativeLayout
        • تنظیم محل و اندازه View
        • استفاده از Constraint ها
      • AbsoluteLayout
        • ایجاد اشیاء Bounding با استفاده از SetLayoutBounds
        • اتصال به Bounding Object با استفاده از SetLayoutFlags
      • Grid
        • تنظیم اندازه Row ها و Column ها
        • تنظیم اندازه برای Fit شدن در View ها
        • Expand کردن View ها برای پر کردن فضای در دسترس
        • Expand کردن View ها به صورت متناسب
        • ایجاد View های Multicell
        • Padding بین Cell ih
      • ContentView
    • استفاده از Layout های اندروئید
      • LinearLayout
        • استفاده از Activity ها برای نمایش Layout ها
        • ایجاد Layout با استفاده از کد
        • کار کردن با Layout های Nested
      • RelativeLayout
      • TableLayout
      • GridLayout
        • پر کردن Row به صورت چپ به راست با استفاده از گرایش افقی
        • پر کردن Row به صورت بالا به پایین با استفاده از گرایش عمودی
        • ایجاد View های Multicell
        • ایجاد یک Dynamic Grid از Image ها
      • Framelayout
      • Fragment ها
    • استفاده از Layout های iOS
      • استفاده از AutoLayout
        • افزودن Constraint ها با استفاده از Visual Format Language
      • استفاده از Frame ها
  4. تعامل با کاربر با استفاده از Control ها
    • View های Xamarin.Forms
      • Picker
      • DatePicker
      • TimePicker
      • Stepper
      • Slider
      • Switch
      • Scale, Rotation, Opacity, Visibility و Focus
    • کنترل های Android
      • Spinner
      • DatePicker
        • ایجاد یک Modal DatePicker با استفاده از DatePickerDialog
      • TimePicker
      • SeekBar
      • CheckBox
      • Switch
        • سفارشی سازی یک Switch Text, Title و State
      • RadioButton
    • کنترل های iOS
      • UIPickerView
        • تبدیل یک UIPickerView به یک Popup
      • UIDatePicker
        • تبدیل یک UIDatePickerView به یک Popup
        • انتخاب فیلدهایی که قرار است نمایش داده شوند
      • UIStepper
      • UISlider
      • CheckBox: استفاده از UISwitch یا MonoToch.Dialog
      • UISwitch
  5. ایجاد یک لیست قابل Scroll
    • Data Adapter ها
    • ListView در Xamarin.Forms
      • اتصال به لیستی از String ها
      • انتخاب یک گزینه
      • اتصال به یک Data Model
      • افزودن یک Image
      • سفارشی کردن ردیف های لیست
      • افزودن دکمه ها
        • استفاده از Button View ها
        • افزودن Context Action ها
      • گروه بندی کردن Header ها
      • سفارشی کردن Group Header
      • ایجاد یک Jump List
      • اسکرول خودکار ListView ها
      • بهینه سازی Performance
    • Android ListView
      • استفاده از ListActivity
      • اتصال به آرایه ای از String ها
      • انتخاب یک گزینه
        • انتخاب چند گزینه ای
      • اتصال به یک Data Model
        • Data Model
        • Adapter
        • Activity
      • بهینه سازی Performance
      • استفاده از Row View های Built-in
      • سفارشی کردن ردیف های لیست
        • انتخاب یک گزینه در یک ردیف سفارشی سازی شده
      • گروه بندی کردن Header ها
    • iOS UITableView
      • اتصال به آرایه ای از String ها
      • انتخاب یک گزینه
        • انتخاب چند گزینه ای
      • اتصال به یک Data Model
        • Data Model
        • Adapter
        • View Controller
      • استفاده از Row View های Built-in
      • Cell Separator ها
      • گروه بندی کردن Header ها
      • هایلایت کردن گروه ها با استفاده از Table Style ها
      • Accessorize کردن ردیف های لیست
        • انتخاب یک Accessory
      • بهینه سازی Performance
      • یک راه حل دیگر برای لیست ها:  UITableViewController
  6. پیمایش (Navigation)
    • الگوهای پیمایش
      • سلسله مراتبی
      • Model
      • State Management
    • پیمایش در Xamarin.Forms
      • پیمایش سلسله مراتبی با استفاده از NavigationPage
        • Push کردن و Pop کردن Screen ها در Navigation Stack
        • تنظیم عنوان صفحه
        • سفارشی سازی نوار پیمایش
        • پاسخ دهی به دکمه Back
        • ایجاد یک منوی Drop-Down
      • Modal
        • ایجاد Full-Page Model با استفاده از NavigationPage
        • اطلاع رسانی به کاربر با استفاده از Alert ها
        • ایجاد Pop-up Menu با استفاده از Action Sheet ها
      • مدیریت State
        • پاس دادن داده ها به عنوان پارامترهای صفحه
        • نگهداری داده ها در دیسک با استفاده از Properties Dictionary
        • استفاده از یک کلاس استاتیک Global
        • استفاده از یک پراپرتی استاتیک مستقر بر روی Application Object
      • لیست های Drill-Down
        • استفاده از ListView با Item
        • استفاده از ListView با Page
        • استفاده از TableView برای گروه بندی کردن صفحات
      • Drawer پیمایش با استفاده از MasterDetailPage
      • ایجاد Tab ها با استفاده از TabbedPage
        • ایجاد Tab های DataBound
        • قرار دادن NavigationPage ها در داخل TabbedPage
      • SpringBoard
        • ایجاد آیکون های قابل Tap با استفاده از شناساگرهای Gesture
      • ایجاد Carousel با استفاده از CarouselPage
    • پیمایش در Android
      • اجرای Activity های جدید با استفاده از Intent
      • پیمایش سلسله مراتبی با استفاده از Toolbar
        • پاسخ دهی به دکمه Up
        • افزودن یک منوی Pop-up
        • سفارشی سازی Toolbar
      • استفاده از Navigation Bar
        • پاسخ دهی به دکمه Back
      • Fragment ها
      • پیمایش Modal
        • ایجاد Modal ها با استفاده از DialogFragment
        • ایجاد Alert ها با استفاده از DialogFragment
        • Layout های Modal با استفاده از AlertDialog
        • PopupMenu
      • مدیریت State با استفاده از Bundle ها
        • پاس دادن String ها
        • پاس دادن Object ها
        • ایجاد یک Bundle
        • استفاده از کلاس های استاتیک Global و StartActivityForResult
      • لیست Drill-Down
        • استفاده از ListView در Page
        • استفاده از ListView در Item
        • استفاده از ListView به همراه یک Toolbar
      • Navigation Drawer
      • استفاده از Tab ها با استفاده از ActionBar
    • پیمایش در iOS
      • استفاده از Seques, Scenes, Storyboards
      • استفاده از Nibs
      • پیمایش سلسله مراتبی
        • استفاده از UINavigationController
        • استفاده از Push Segue یا PushViewController
        • سفارشی سازی UINavigationController
      • پیمایش Modal
        • استفاده از Modal Segue یا PresentViewController
        • Alert ها و اطلاعیه ها با استفاده از UIAlertController
        • منوی های Pop-up با استفاده از UIAlertController
      • مدیریت State
        • استفاده از متد PrepareForSegue
        • استفاده از پراپرتی های Public شیء UIViewController
        • استفاده از پارامترهای Constructor شیء UIViewController
      • لیست های Drill-Down با استفاده از UINavigationController
      • ایجاد Drawer پیمایش با استفاده از کامپوننت ها
      • ایجاد Tab ها با استفاده از UITabBarController
  7. دسترسی به داده ها با استفاده از SQLite و Data Binding
    • SQLite چیست؟
    • SQLite.NET چیست؟
    • Data Binding
    • Data Binding در Xamarin.Forms
      • متصل شدن به یک Data Model
      • استفاده از INotifyPropertyChanged
      • آشنایی با ViewModel ها و MVVL
      • اتصال به ViewModel ها و Data Model ها
        • ایجاد یک ViewModel که INotifyPropertyChanged را پیاده سازی می کند
        • پیاده سازی INotifyPropertyChanged در یک Data Model
      • متصل کردن یک ListView فقط خواندنی
      • متصل کردن یک ListView قابل ویرایش
        • افزودن و حذف ردیف ها
        • ویرایش پراپرتی ها
        • متصل شدن به یک View Model
      • متصل کردن یک View به یک View دیگر
    • استفاده از SQLite.NET
      • نصب SQLite.NET بر روی Windows Phone
      • ایجاد یک دیتابیس
      • ساختن یک Database Path
        • اتصال با استفاده از پروژه های Shared
        • استفاده از با استفاده از PCL
        • اتصال در Android
        • اتصال در iOS
        • اتصال در Windows Phone
      • ایجاد یک Table
        • استفاده از Attribute ها
        • افزودن و حذف ردیف ها
        • خواندن ردیف ها
        • به روز رسانی ردیف ها
        • قفل کردن ردیف ها
      • ایجاد یک Data Access Layer
        • ایجاد یک Repsitory
        • مدیریت Repsitory
        • افزودن متدها به Repsitory
    • استفاده از ADO.NET
      • ایجاد یک دیتابیس
      • ایجاد یک جدول
      • اجرای دستورات SQL
    • گزینه های ایجاد دیتابیس
    • وب سرویس ها
  8. Custom Renderer ها
    • کی از یک Custom Renderer استفاده کنیم؟
    • ایجاد یک Custom Renderer
    • آماده کردن یک Custom Element
    • Android Custom Renderer
    • iOS Custom Renderer
    • Windows Phone Custom Renderer
    • کدام Renderer و View را سفارشی سازی خواهید کرد؟
  9. ساختار Cross Platform
    • کد Shared و Platform-Specific
    • پاسخ دهی به  واگرایی
    • ساختار Solution ها در Xamarin.Forms
    • ساختار Solution های Platform-Specific
    • کتابخانه Core
    • کتابخانه های Portable
    • تزریق وابستگی
      • استفاده از DependencyService
        • ایجاد یک Interface
        • پیاده سازی Android
        • پیاده سازی iOS
        • پیاده سازی Windows Phone
        • فراخوانی کلاس Platform-Sepcific
      • DI Containers اوپن سورس و شخص ثالث
    • پروژه های Shared
      • کامپایل شرطی
      • لینک کردن فایل ها
      • کلاس ها و متدهای Partial
    • پاسخ دهی به واگرایی نگارش ها
picture
picture

نظر دانشجویان دوره های قبلی
 نظر افرادی که قبلا در این دوره ها شرکت کرده اند  را بدانید.

بهترین ملاک برای قضاوت درباره کیفیت خدمات آموزشی ما نظرات مخاطبینی است که قبلا از این خدمان استفاده کرده اند. ادامه »

picture

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

Fusce vehicula dignissim ligula. Vestibulum sit amet neque eu neque suscipit consequat quis vel risus. Vestibulum vehicula purus nec dui accumsan fermentum. Read More »

picture

انواع دوره های آموزشی
دوره های آموزشی ما به دو حالت کلی فشرده و طولانی مدت برگزار می شود.

Fusce vehicula dignissim ligula. Vestibulum sit amet neque eu neque suscipit consequat quis vel risus. Vestibulum vehicula purus nec dui accumsan fermentum. Read More »