کاتلین (kotlin) زبان برنامه نویسی هستش که طی چند سال اخیر معرفی شده.
گوگل هم تقریبا 5 سالی هستش که این زبان رو به رسمیت شناخته.
علاوه بر به رسمیت شناختن این زبان، کاتلین رو زبان اول برنامه نویسی اندروید هم درنظر گرفته.
این زبان هم مثل جاوا برای اندروید زبان بومی به حساب میاد.
زبان بومی چیه؟
برای اینکه واسه یه پلتفرمی برنامه ای درست کنی یا باید از زبان های Native (بومی) استفاده کنی، یا از Cross Platform (چند سکویی).
زبان های بومی مختص به اون پلتفرم یا سیستم ساخته شدن.
پس در نتیجه امکانات بیشتری رو به برنامه نویس ها میدن.
زبان های چند سکویی درواقع طوری هستن که شما یکبار کد میزنی و برای سیستم عامل های مختلف خروجی میگیری.
مثلا یکبار کد میزنی و برای اندروید و iOS خروجی میگیری.
خب الان شاید پیش خودت یه همچین جمله ای رو بگی
میرم همین چند سکویی ها رو یاد میگیرم و خیلی راحت میتونم برای سیستم عامل های مختلف خروجی بگیرم!
زبان های بومی برای هر سیستم عاملی، از نظر امکانات، سرعت، کارایی و سطح دسترسی خیلی بیشتری رو نسبت به زبان های چند سکویی دارن.
همیشه یادت باشه، برای نوشتن برنامه های بزرگ با کارایی بیشتر و بهتر اکثرا سراغ زبان های بومی میرن.
چرا کاتلین ؟
کاتلین زبان مدرنی هستش که توی 5 سال اخیر مورد توجه گوگل قرار گرفته.
طوری که اگر وارد سایت اصلی اندروید هم بشید، میبینید که گوگل این زبان رو جز زبان پیشفرض اندروید برای مباحث آموزشی درنظر گرفته.
از طرفی کاتلین به نسبت جاوا سرعت پیاده سازی خیلی بیشتری داره.
کاتلین یا جاوا ؟
شاید این سوال خیلی از شما عزیزان باشه!
بلاخره کاتلین رو انتخاب کنم یا جاوا رو؟
کدومش برام مناسبتره؟
کاتلین زبان جدیدتری هستش، پس بسیاری از نقاط ضعف جاوا توی این زبون دیگه نیستش!
یکی از رایجترین مشکلات توی زبان جاوا، پشتیبانی نکردن از null بود.
همین امر هم باعث شدن که ارور NullPointerException جز معروفترین ارورهای اندروید به حساب بیاد.
این ارور واقعا ارور رو مخی بود!
ولی توی کاتلین این مشکل به طور کلی برطرف شده و دیگه خیالتون بابت null راحت هستش.
درواقع کاتلین null safety هستش.
توی این زبان قابلیت Extension function (افزونه نویسی) اضافه شده که به طرز عجیبی کمک خیلی زیادی میتونه بهت بکنه.
افزونه نویسی طوریه که شما میتونی برای المان های مختلف اندروید و کاتلین افزونه هایی رو بنویسی.
اینکار سرعت برنامه نویسیتون رو واقعا بیشتر میکنه.
توی این زبان کدها به نسبت جاوا بسیار بسیار کوتاهتر شدن.
این زبان نسبت به جاوا امکانات بیشتری داره که توی دوره به تمامی اونا اشاره کردم
برای یادگیری کاتلین، جاوا پیشنیازه؟
خیر، به هیچ عنوان.
این یک جمله کاملا غلط و اشتباهی هستش که میگن برای یادگیری کاتلین قبلش باید جاوا یادبگیری.
جاوا و کاتلین زبان های کاملا مستقلی هستن.
پیشنیازهای دوره چیا هستن؟
برای اینکه بتونی از این دوره استفاده کنی، هیچ پیشنیازی خاصی نیاز نیستش.
تنها پیشنیازی که لازمه اینه که پشتکار داشته باشی و به این حوزه علاقه مند باشی، فقط همین.
اگه این پیشنیاز رو داری، پس خیلی راحت میتونی از این دوره نهایت استفاده رو ببری.
برای حرفه ای شدن فقط باید کاتلین رو یاد بگیرم؟
برای اینکه توی سطوح بالا کار کنی و کد بزنی، این زبون میتونه به تنهایی کافی باشه.
ولی اگه میخوای به تمامی کتابخونه هایی که افراد مختلف مینویسن هم تسلط داشته باشی میتونی کنار این زبان، جاوا رو هم یادبگیری.
درواقع جاوا یه جورایی میتونه مکمل کاتلین باشه.
چون جاوا قدیمیتر از کاتلین هستش، برای همین کتابخونههای زیادی با جاوا نوشته شدن.
هرچند تمامی کتابخونه های معتبر و بروز، زبان خودشون رو از جاوا به کاتلین تغییر دادن.
این دوره برای چه افرادی مناسبه؟
این دوره از سطح صفر آموزش داده شده!
یعنی حتی عزیزانی که هیچ دیدی نسبت به برنامه نویسی ندارن هم خیلی راحت میتونن از این دوره استفاده کنن.
آموزش از مبتدی ترین سطح شروع میشه و تا سطوح بالاتری شما رو همراهی میکنه.
این دوره شامل چه چیزهایی میشه؟
این دوره شامل 2 فصل میشه.
فصل اول : آشنایی کامل با این زبان برنامه نویسی
فصل دوم : شی گرایی در این زبان برنامه نویسی
مطالب آموزش داده شده در فصل اول
- آشنایی با کاتلین و ساختار کلی آن
- متغییر ها
- عملگرهای ریاضی
- دستورات شرطی if
- دستورات شرطی when
- دستورات حلقه for
- دستورات حلقه while
- دستورات تودرتو
- دستورات break و continue
- آرایه ها (array)
- فانکشن ها (fun)
- کلاس ها
- سازنده ها
- مدیریت null
- آرایه هایی از نوع TreeMap
- مقادیر نامگذاری شده و پیشفرض
- مدیریت استثناها try-catch
- افزونه نویسی (extension function)
- معرفی کامل infix function
- معرفی کامل operator overloading
مطالب آموزش داده شده در فصل دوم
- آشنایی با اصول شی گرایی و دلایل استفاده کردن از اون
- فرق بین nested و inner کلاس ها و آموزش کامل اون ها
- سطوح دسترسی یا visibility modifiers
- ارث بری یا inheritance
- کلاس abstract
- interface
- data class
- کلاس enum
- کلاس های مهروموم شده یا sealed
- generic
سخن نهایی
سعی کردم توی این دوره آموزش کاتلین، این زبان شیرین رو طوری بهتون آموزش بدم که برای برنامه نویسی اندروید آماده بشید.
قطعا ممکنه ضعف هایی رو هم داشته باشم، خوشحال میشم نظرت رو در ادامه همین دوره آموزشی، توی بخش نظرات بهم بگی.
با اینکار کمکم میکنی که ویدیوهای بهتری رو بتونم برات درست کنم.