Android Jetpack Compose - ساخت سریع رابط‌های داخلی اندروید [ویدئو]

Android Jetpack Compose - Build Android Native UIs Fast [Video]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Android Jetpack Compose یک روش جدید برای ساخت برنامه های مدرن اندروید در توسعه برنامه اندروید است. صنعت توسعه نرم‌افزار در حال دور شدن از رویکرد ضروری ساخت برنامه‌ها است - جایی که توسعه‌دهندگان باید کدهای زیادی را بنویسند، از میان APIهای متناقض عبور کنند و برای ساخت برنامه‌های تلفن همراه ساده نگه‌داشتن کد دشوار باشد. با Jetpack Compose، ساختن Native UI برای پلتفرم اندروید آسان‌تر، مختصر‌تر، سازگارتر است و کد کمتری دارد. در این دوره، شما با یادگیری Jetpack Compose و مزایای آن نسبت به روش ضروری ساخت برنامه های اندروید شروع می کنید. شما به مبانی برنامه نویسی کاتلین، مفاهیم متوسط ​​و پیشرفته نگاه خواهید کرد. شما به مفاهیم اصلی Jetpack Compose نگاه می‌کنید: توابع قابل ترکیب، نوشتن ویجت‌های چیدمان، و اصلاح‌کننده‌ها، و خواهید فهمید که Jetpack Compose چگونه حالت-بازترکیب و بالا بردن حالت را مدیریت می‌کند. متوجه خواهید شد که MutableState و Flow چگونه با توابع قابل ترکیب کار می کنند. به نحوه ساختن برنامه های مختلف Jetpack Compose که از ساده تا پیچیده را شامل می شود (ماشین حساب راهنمایی، برنامه فیلم، برنامه یادداشت، برنامه چیزهای بی اهمیت، برنامه پیش بینی آب و هوا و بسیاری موارد دیگر) مسلط شوید. و هنگام یادگیری Jetpack Compose، برنامه های زیادی بسازید. در پایان دوره، همه چیزهایی را که باید در مورد Kotlin و Jetpack Compose بدانید تا بتوانید رابط‌های کاربری پیچیده بومی و برنامه‌های اندروید را با Jetpack Compose بدانید، فرا خواهید گرفت. همه فایل‌های منبع به مخزن GitHub اضافه می‌شوند: https://github.com/PacktPublishing/Android-Jetpack-Compose---Build-Android-Native-UI-s-Fast Learn معماری تمیز و الگوهای MVVM با Android Jetpack ساختن Master Jetpack برنامه های اندرویدی مدرن را بنویسید و بسازید با Jetpack Compose و Kotlin برنامه های مختلف اندروید بسازید با ابزارهای Jetpack و Compose به بهترین شیوه های توسعه اندروید مدرن مسلط شوید از Hilt و Dagger استفاده کنید و تزریق وابستگی را به Jetpack Compose اضافه کنید ادغام پایگاه داده Android ROOM در یک برنامه Compose این دوره برای توسعه دهندگان مبتدی اندروید که کنجکاو در ساخت برنامه های اندروید مدرن با استفاده از Jetpack Compose و Kotlin هستند ایده آل است. توسعه دهندگان اندرویدی که می خواهند Kotlin را یاد بگیرند و برنامه های اندروید را با Jetpack Compose بسازند و هرکسی که می خواهد جاوا و توسعه اندروید را یاد بگیرد نیز از این دوره بهره مند خواهد شد. تجربه برنامه نویسی اولیه، به طور کلی، مفید است اما لازم نیست. این دوره همه چیزهایی را که برای ساخت برنامه های اندروید با Kotlin و Jetpack Compose نیاز دارید را پوشش می دهد. اصول کاتلین در این دوره گنجانده شده است، بنابراین نیازی به دانش قبلی در مورد آن نیست. یک دوره جامع برای توسعه برنامه‌ها با Jetpack Compose و Kotlin * ساخت، از ابتدا، رابط‌های کاربری بومی زیبا با Jetpack Compose – رویکردی اعلامی برای ساخت برنامه‌های اندروید * یک دوره بسیار کاربردی و همراه با فایل‌های کد

سرفصل ها و درس ها

مقدمه دوره Introduction to the Course

  • معرفی Introduction

  • مسیر یادگیری دوره Course Learning Path

راه اندازی ماشین ویندوز برای توسعه Windows Machine Setup for Development

  • نصب Android Studio و Setup Installing Android Studio and Setup

  • ایجاد یک ماژول Kotlin و اجرای آن Creating a Kotlin Module and Running It

  • Kotlin Playground - ویرایشگر کد آنلاین Kotlin Playground - Online Code Editor

راه اندازی ماشین مک برای توسعه Mac Machine Setup for Development

  • اندروید استودیو را نصب و راه اندازی کنید Install and Set Up Android Studio

  • یک ماژول Kotlin در یک پروژه اندروید ایجاد کنید Create a Kotlin Module in an Android Project

  • Kotlin Playground - ویرایشگر کد آنلاین Kotlin Playground - Online Code Editor

اولین برنامه Jetpack Compose خود را بسازید Build Your First Jetpack Compose App

  • نسخه نمایشی برنامه App Demo

  • راه‌اندازی برنامه BizCard - طرح‌بندی و پیش‌نمایش سطح نوشتن Android Setting Up BizCard App - Android Compose Surface Layout and Preview

  • ایجاد یک کارت و تغییر ویژگی های آن با Modifier Creating a Card and Changing Its Properties with Modifier

  • افزودن تصویر نمایه Adding the Profile Image

  • اضافه کردن یک ستون و یک تقسیم کننده Adding a Column and a Divider

  • (چالش) - پارامترهای تقسیم کننده را تغییر دهید (Challenge) - Change Divider's Parameters

  • (راه حل چالش) - پارامترهای تقسیم کننده (Challenge Solution) - Divider's Parameters

  • افزودن بخش اطلاعات کارت Adding the Card Info Section

  • اضافه کردن دکمه نمونه کارها Adding the Portfolio Button

  • عملکرد قابل ترکیب محتوا را ایجاد کنید Create the Content Composable Function

  • اضافه کردن LazyColumn Layout و Toggle Functional Adding a LazyColumn Layout and the Toggle Functionality

  • لمس نهایی به برنامه BizCard Final Touches to the BizCard App

  • چه چیزی بعد What's Next

اصول زبان برنامه نویسی کاتلین - انواع متغیر Kotlin Programming Language Fundamentals - Variable Types

  • بخش مقدمه Section Introduction

  • کلمات کلیدی Kotlin var و val Kotlin var and val Keywords

  • مقداردهی اولیه متغیرها Initializing Variables

  • مقدمه ای بر انواع متغیر - Int و String Introduction to Variable Types - Int and String

  • انواع پایه در کاتلین Basic Types in Kotlin

  • نوع بلند The Long Type

  • انواع نقطه شناور Floating Point Types

  • اپراتورهای کاتلین Kotlin Operators

  • خلاصه بخش Section Summary

اصول کاتلین - حلقه ها و شاخه ها Kotlin Fundamentals - Loops and Branching

  • مقدمه بخش - حلقه ها و انشعاب ها Section Introduction - Loops and Branching

  • عبارت If و When عبارت The If Statement and When Expression

  • وقتی بیان - محدوده When Expression - Range

  • حلقه برای The For Loop

اصول کاتلین - توابع Kotlin Fundamentals - Functions

  • بخش مقدمه - توابع Section Introduction - Functions

  • یک تابع ساده کاتلین ایجاد کنید Create a Simple Kotlin Function

  • توابع با پارامترهای Int Functions with Int Parameters

  • افزودن پارامترهای بیشتر به یک تابع Adding More Parameters to a Function

  • آرگومان های پیش فرض و آرگومان های نامگذاری شده Default Arguments and Named Arguments

  • توابع و انواع بازگشت Functions and Return Types

  • برگرداندن یک بولی Returning a Boolean

  • عبارات لامبدا - مقدمه Lambda Expressions - an Introduction

  • (راه حل چالش) - CatAge - To Lambda Expression (Challenge Solution) - CatAge - To Lambda Expression

  • با استفاده از کلمه کلیدی لامبدا "it". Using the "it" Lambda Keyword

  • عبارات لامبدا که واحد را بر می گرداند - بی اعتبار Lambda Expressions that Return Unit - Void

  • دنباله دار لامبدا Trailing Lambda

Kotlin Fundamentals - مجموعه ها Kotlin Fundamentals - Collections

  • مقدمه ای بر مجموعه ها Introduction to Collections

  • فراخوانی روش ها در فهرست ها Invoking Methods on Lists

  • مجموعه‌های کاتلین و مجموعه‌های نقشه Kotlin Sets and Maps Collections

  • راه اندازی لیست ها Initializing Lists

  • مجموعه های خالی Empty Collections

  • فیلترهای مجموعه Collection Filters

  • خلاصه بخش - مجموعه ها Section Summary - Collections

کاتلین - مفاهیم برنامه نویسی شی گرا متوسط Kotlin - Intermediate Object-Oriented Programming Concepts

  • مقدمه ای بر OOP - ایجاد کلاس اول Introduction to OOP - Create First Class

  • کلاس های کاتلین و سازندگان اولیه Kotlin Classes and the Primary Constructors

  • بلوک init The init Block

  • اضافه کردن یک تابع کلاس با پارامترها Adding a class Function with Parameters

  • وراثت و لغو Inheritance and Override

  • مراحل طراحی وراثت Inheritance Design Steps

  • مقدمه ای بر کلاس های رابط Introduction to Interface Classes

  • ایجاد یک رابط و استفاده از آن Creating an Interface and Using It

  • توابع افزونه در Kotlin Extension Functions in Kotlin

  • حذف اولین و آخرین کاراکتر پسوند - راه حل چالش Remove First and Last Character Extension Function - Challenge Solution

  • کلاس داده Data Class

  • خلاصه بخش - Kotlin OOP Section Summary - Kotlin OOP

کاتلین - مفاهیم پیشرفته Kotlin - Advanced Concepts

  • مقدمه ای بر ژنریک Introduction to Generics

  • با استفاده از Generics Using Generics

  • مقدمه ای بر Enums و State Introduction to Enums and State

  • بهبود Enums - کلاس های مهر و موم شده Improving Enums - Sealed Classes

  • ایجاد کلاس های مهر و موم شده Sealed Classes Creation

مقدمه ای بر Jetpack Compose و Fundamentals Introduction to Jetpack Compose and Fundamentals

  • مقدمه - Jetpack چیست و درک رویکرد ضروری Introduction - What's Jetpack and Understanding the Imperative Approach

  • درک یک پروژه نوشتن - مبانی - پیش نمایش و نوشتن حاشیه نویسی Understanding a Compose Project - Basics - Preview and Compose Annotation

  • ایجاد یک تابع قابل ترکیب ساده Creating a Simple Composable Function

  • توابع اصلاح کننده و ترکیب پذیر - آنها چیست؟ Modifier and Composable Functions - What Are They?

  • ایجاد یک برنامه نوشتن ساده - ایجاد یک دایره Creating a Simple Compose App - Create a Circle

  • افزودن دایره به سطح اصلی Adding the Circle to the Main Surface

  • تکمیل رابط کاربری Finishing Up the User Interface

  • معرفی MutableState - افزایش شمارنده Introduction to MutableState - Incrementing a Counter

  • (رویکرد امری در مقابل اظهاری) - تفکر در انشاء (Imperative Versus Declarative Approach) - Thinking in Compose

  • بالا بردن وضعیت برنامه شمارنده پول ما Hoisting the State of Our Money Counter App

  • خلاصه بخش - Jetpack Compose و Paradigm Shift Section Summary - Jetpack Compose and Paradigm Shift

راه اندازی دستگاه واقعی Android Android Real Device Setup

  • چگونه یک دستگاه اندروید را برای توسعه راه اندازی کنیم How to Set Up an Android Device for Development

یک برنامه ماشین حساب نکته بسازید Build a Tip Calculator App

  • نسخه نمایشی برنامه JetTip JetTip App Demo

  • ساختار JetTip و تنظیم عملکرد کانتینر The Structure of JetTip and Setting Up the Container Function

  • تابع TopHeader - Finish Up The TopHeader Function - Finish Up

  • افزودن مرز گرد برای محتوای اصلی Adding the Rounded Border for the Main Content

  • فیلدهای ورودی - ایجاد یک تابع قابل تنظیم InputField قابل تنظیم Input Fields - Creating a Customizable InputField Composable Function

  • نمایش فیلد ورودی Showing the Input Field

  • Refactoring تابع Compose InputField Refactoring the InputField Compose Function

  • ایجاد دکمه های آیکون گرد Creating Round Icon Buttons

  • تثبیت عرض فیلد ورودی Fixing the Input Field Width

  • افزودن TipRow و Slider Adding the TipRow and Slider

  • تکمیل کردن اسلایدر Composable Finishing Up the Slider Composable

  • توابع افزایش و کاهش Incrementing and Decrementing Functions

  • نمایش درصد نکته در تغییر ارزش اسلاید Showing the Tip Percentage on Slide Value Change

  • محاسبه مبلغ انعام Calculating the Tip Amount

  • مجموع محاسبات به ازای هر نفر Total Per Person Calculations

  • حالت بالابر - کد Refactor و خلاصه بخش State Hoisting - Code Refactor and Section Summary

ساخت برنامه فیلم - مقدمه ای بر Scaffold و LazyColumn Build a Movie App - Introduction to Scaffold and LazyColumn

  • بخش مقدمه Section Introduction

  • درک ساختار داربست Understanding the Scaffold Composable

  • استفاده از LazyColumn و نمایش فیلم Using LazyColumn and Showing Movies

  • هر ردیف را قابل کلیک کنید Make Each Row Clickable

  • مقدمه ای بر کامپوننت ناوبری Introduction to Navigation Component

  • تنظیم ساختار ناوبری Setting Up the Navigation Structure

  • تنظیم ساختار ناوبری - صفحه اصلی و صفحه جزئیات Setting Up the Navigation Structure - Home Screen and Details Screen

  • ناوبری و گذراندن استدلال ها Navigation and Passing Arguments

  • پیمایش بازگشت روی دکمه برگشت کلیک کرد Navigating Back on Back button Clicked

  • افزودن TopAppBar و Back Navigation Adding the TopAppBar and Back Navigation

  • خلاصه مولفه ناوبری Navigation Component Summary

برنامه فیلم - بهبودها Movie App - Improvements

  • افزودن کلاس داده فیلم و داده ساختگی Adding Movie Data Class and Dummy Data

  • استفاده از کویل برای افزودن تصاویر Using Coil to Add Images

  • افزودن قابلیت Expand روی کارت برای نمایش اطلاعات بیشتر Adding Expand Capability on the Card to Show More Information

  • افزودن اطلاعات بیشتر فیلم به ردیف Adding More Movie Information to the Row

  • اتمام صفحه جزئیات Finishing Up the Details Screen

  • خلاصه بخش Section Summary

مقدمه ای بر ViewModel - ساخت یک برنامه یادداشت Introduction to ViewModel - Build a Note App

  • نسخه نمایشی برنامه را یادداشت کنید Note App Demo

  • برنامه Note - راه اندازی پروژه و ایجاد یک TextField Note App - Project Setup and Creating a TextField

  • اضافه کردن TextField و یک دکمه Adding TextField and a Button

  • اضافه کردن یک کلاس منبع داده - داده های ساختگی Adding a DataSource Class - Dummy Data

  • ایجاد یک ردیف یادداشت و نمایش یادداشت های ساختگی Creating a Note Row and Showing Dummy Notes

  • افزودن و حذف یادداشت ها - نمایش آنها روی صفحه Adding and Removing Notes - Showing Them on Screen

  • مدیریت وضعیت و داده در Compose - مقدمه ای بر ViewModel Managing State and Data in Compose - Introduction to ViewModel

  • ایجاد ViewModel و پیاده سازی آن Creating a ViewModel and Implementing It

توجه داشته باشید بهبود برنامه - اتاق و تزریق وابستگی - Hilt Note App Improvements - ROOM and Dependency Injection - Hilt

  • ما چه خواهیم کرد What We Will Do

  • درک اتاق اندروید و تزریق وابستگی (DI): Hilt and Dagger Understanding Android ROOM and Dependency Injection (DI): Hilt and Dagger

  • درک DI (تزریق وابستگی) و مزایای آن Understanding DI (Dependency Injection) and Its Advantages

  • دستی DI در مقابل هیلت Manual DI Versus Hilt

  • وابستگی‌های Hilt را در Gradle تنظیم کنید Set Up Hilt Dependencies in Gradle

  • راه اندازی App Hilt AppModule و NoteApplication Component Setting Up App Hilt AppModule and the NoteApplication Component

  • معماری پایگاه داده اتاق اندروید The Android ROOM Database Architecture

  • افزودن ROOM و وابستگی های Coroutine به پروژه Adding ROOM and Coroutine Dependencies to Project

  • ایجاد یک موجودیت یادداشت Creating a Note Entity

  • ایجاد کلاس RoomDatabase و DAO Creating a RoomDatabase Class and DAO

  • درک کوروتین ها و توابع تعلیق Understanding Coroutines and Suspend Functions

  • افزودن حالت جریان به توابع getNotes Adding Flow State to getNotes Functions

  • اضافه کردن ارائه دهندگان در کلاس AppModule Adding Providers in AppModule Class

  • ایجاد کلاس Repository Creating the Repository Class

  • به روز رسانی کلاس NoteViewModel Updating the NoteViewModel Class

  • تست NoteApp با پایگاه داده ROOM Testing the NoteApp with the ROOM Database

  • افزودن TypeConverters و شروع به کار برنامه Adding TypeConverters and Getting the App to Work

  • خلاصه بخش Section Summary

برنامه JetTrivia - تجزیه JSON: Retrofit and Clean Architecture JetTrivia App - Parsing JSON: Retrofit and Clean Architecture

  • نسخه نمایشی برنامه JetTrivia JetTrivia App Demo

  • راه اندازی پروژه - افزودن همه وابستگی ها Setting Up the Project - Adding All Dependencies

  • Trivia JSON Payload The Trivia JSON Payload

  • راه‌اندازی ساختار برنامه - افزودن وابستگی‌های Retrofit Set Up the App Structure - Adding Retrofit Dependencies

  • اضافه کردن کلاس های Hilt و Retrofit Adding Hilt Classes and Retrofit

  • ایجاد یک کلاس Wrapper برای انتشار متادیتا Creating a Wrapper Class for Emitting Metadata

  • اتمام کلاس Repository Finishing Up the Repository Class

  • ایجاد کلاس ViewModel Creating the ViewModel Class

  • تست ViewModel ما و ثبت سوالات چیزهای بی اهمیت Testing Our ViewModel and Logging Trivia Questions

  • Refactoring کد و نمایش نوار پیشرفت Refactoring Code and Showing the Progress Bar

  • ایجاد UI - Question Tracker Composable Creating the UI - Question Tracker Composable

  • ایجاد رابط کاربری - خط نقطه چین قابل ترکیب Creating the UI - Dotted Line Composable

  • ایجاد UI - ردیف دکمه رادیو Creating the UI - Radio Button Row

  • ایجاد UI - ردیف دکمه های رادیویی و بررسی پاسخ ها Creating UI - Radio Button Row and Checking Answers

  • اتمام منطق - برنامه کار می کند Finishing Up the Logic - App Working

  • یک امتیاز سنج ایجاد کنید Create a Score Meter

  • نهایی کردن امتیاز سنج Finalizing the Score Meter

  • دریافت تعداد کل سوالات Getting Total Question Count

  • خلاصه بخش Section Summary

ساخت اپلیکیشن پیش بینی آب و هوا Build a Weather Forecast App

  • نسخه نمایشی برنامه پیش بینی آب و هوا Weather Forecast App Demo

  • راه اندازی پروژه و افزودن همه وابستگی های Gradle Setting Up Project and Adding All Gradle Dependencies

  • OpenWeather - دریافت کلید API OpenWeather - Getting the API Key

  • راه اندازی بسته ها و ساختارهای DI Setting Up Packages and DI Structures

  • راه‌اندازی پیمایش برنامه - Splash Screen - قسمت 1 Setting Up App Navigation - Splash Screen - Part 1

  • نمایش Splash Screen - ادامه راه اندازی ناوبری Showing the Splash Screen - Navigation Setup Continuation

  • کنار هم قرار دادن رابط کاربری Splash Screen Putting Together the Splash Screen UI

  • انیمیشن Splash Screen و حرکت به صفحه اصلی Splash Screen Animation and Navigating to Main Screen

  • کاری که ما تا کنون انجام داده ایم What We Have Done So Far

  • راه اندازی کلاس های مدل Setting Up Model Classes

  • راه اندازی رابط API آب و هوا برای ارتقاء - کتابخانه HTTP Setting Up the Weather API Interface for Retrofit - HTTP Library

  • ایجاد Main ViewModel و کلاس های Repository Creating the Main ViewModel and the Repository Classes

  • راه اندازی ViewModel و بازیابی JSON Payload Setting Up the ViewModel and Retrieving JSON Payload

  • راه اندازی AppBar - قسمت 1 Setting Up the AppBar - Part 1

  • نهایی کردن WeatherAppBar Finalizing the WeatherAppBar

  • ایجاد ابزارک های صفحه اصلی - دایره بالا Creating the Main Screen Widgets - Top Circle

  • ایجاد صفحه اصلی - نهایی کردن دایره بالا و داده ها Creating the Main Screen - Finalizing the Top Circle and Data

  • افزودن ردیف رطوبت، باد و فشار Adding Humidity, Wind, and Pressure Row

  • ایجاد ردیف غروب و طلوع خورشید Creating the Sunset and Sunrise Row

  • ردیف جزئیات آب و هوا Weather Detail Row

  • تکمیل ردیف جزئیات آب و هوا و صفحه اصلی Finalizing the Weather Detail Row and the Main Screen

  • اصلاح مجدد کد Refactoring the Code

  • شکست - آنچه تا کنون انجام داده ایم Break - What We have Done So far

  • تنظیم فیلد جستجو در صفحه جستجو Setting Up the Search Field in Search Screen

  • انتقال نام شهر به صفحه اصلی و نمایش داده های پیش بینی Passing the City Name Back to Main Screen and Showing the Forecast Data

  • تنظیم دیالوگ و منوی کشویی Setting Up the Dialog and the Dropdown Menu

  • پیمایش به About، Favorites و Settings و ایجاد صفحه About Navigating to About, Favorites, and Settings and Creating the About Screen

  • مقدمه ای بر ROOM و ساختار صفحه نمایش مورد علاقه Introduction to ROOM and Favorite Screen Structure

  • ایجاد یک موجودیت مورد علاقه و کلاس DAO Creating a Favorite Entity and DAO Class

  • راه اندازی پایگاه داده اتاق و مخزن Setting Up Room Database and Repository

  • ایجاد کلاس FavoriteViewModel Creating the FavoriteViewModel Class

  • افزودن نماد دلخواه و ذخیره شهرهای مورد علاقه در پایگاه داده Adding the Favorite Icon and Saving Favorite Cities to Database

  • نمایش همه شهرهای مورد علاقه Showing All Favorite Cities

  • نمایش پیام نان تست هنگامی که یک شهر ذخیره می شود Showing a Toast Message When a City Is Saved

  • شکست - آنچه تا کنون انجام داده ایم - بعدی: صفحه تنظیمات Break - What We have Done So Far - Next Up: The Settings Screen

  • ایجاد مدل نمای تنظیمات Creating the Settings View Model

  • کنار هم قرار دادن صفحه تنظیمات Putting Together the Settings Screen

  • ذخیره واحدهای اندازه گیری در پایگاه داده Saving Measurement Units to the Database

  • افزودن یک واحد پیش فرض Adding a Default Unit

  • نمایش واحدهای متریک و امپریال در صفحه اصلی - لمس نهایی Showing Metric and Imperial Units in Main Screen - Final Touches

  • خلاصه برنامه پیش بینی آب و هوا Weather Forecast App Summary

نمایش نظرات

Android Jetpack Compose - ساخت سریع رابط‌های داخلی اندروید [ویدئو]
جزییات دوره
25 h 58 m
201
Packtpub Packtpub
(آخرین آپدیت)
از 5
ندارد
دارد
دارد
Paulo Dichone
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Paulo Dichone Paulo Dichone

توسعه دهنده و معلم

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

من تجربه گسترده ای در توسعه برنامه Android به ویژه در برنامه موبایل (اندروید و iOS) و توسعه وب دارم. من همچنین بنیانگذار Magadistudio هستم، یک شرکت توسعه برنامه تلفن همراه مستقر در شمال غربی داخلی زیبا (WA).

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

شما آزادی را که یک توسعه‌دهنده اندروید ارائه می‌دهد، باور نمی‌کنید.

من را در توییتر @buildappswithme دنبال کنید

برنامه نویس نرم افزار/برنامه - موبایل و وب

مدرس آنلاین: 2014 - حال

علوم کامپیوتر (BS)
دانشگاه ویتورث
سپتامبر 2006 - مه 2009