۵ بازديد

زبان برنامه نويسي جديد كاتلين چطوره ؟

 

من يكسالي ميشه كه برنامه نويسي اندرويد با كاتلين را شروع كردم

بايد بگم كه من قبلا هم برنامه نويسي اندرويد ( تقريبا از سال 92 كه كافه بازار جون گرفت ) انجام ميدادم البته زبان اصلي من زبان برنامه نويسي جاوا بود .

در سال هاي قبل جاوا را براي توليد اپليكيشن هاي اندرويد در محيط ايكليپس انجام ميداديم .

اوايل برنامه نويسي اندرويد خيلي سخت بود حالا سختي هاي برنامه نويسي با زبان جاوا و طراحي ليوت ها با XML به كنار كلنجار با باگ ها و خطاهاي محيط ايكليپس خودش ديوانه كننده بود آخه اين محيط توسعه براي برنامه نويسي اندرويد بهينه نشده بود .

به همين علت هم بود كه گوگل سالهاي بعدي يك محيط جديدي ساخت به نام اندرويد استوديو و از برنامه نويسان خواست تا از محيط قديمي ايكليپس سريعا كوچ كنند به محيط اندرويد استوديو جديد .

 

مشكلات جديد با اندرويد استوديو

 

خب نسخه هاي اوليه خود اندرويد استوديو هم كلي باگ داشت و مشكلات كند بودن و اشغال كردن خيلي زياد از منابع بطوريكه من رم 8 داشتم و لپتاپم با نسخه هاي اوليه اندرويد استوديو هنگ ميكرد …

12_yb3e.jpg

اين كمي سرعت و سنگيني هم بخاطر وجود سيستم گردل در اندرويد استوديو بود . ...

حالا مشكل كه ايكليپس بود شده بود دوتا هم محيط جديد كه مشكل داشت و كند بود هم محيط قديمي كه مشكل داشت و كم كم منسوخ ميشد ... ( البته براي برنامه نويسي اندرويد منسوخ ميشد وگرنه هنوزم ايكليپس جاهاي ديگه كاربرد داره )

يكي از روش هايي كه براي حل مشكلات سرعت اندرويد استوديو پيشنهاد ميشه خريدن يك هارد SSD بود و ارتقا رم به بالاي 8 گيگ ...

البته من همه ي اين كارها رو كردم ولي محيط اندرويد استوديو بازم ادم رو اذيت ميكرد

راستي يادم رفت بگم نسخه هاي اوليه اين محيط خيلي سرد بود ادم بازش ميكرد فكر ميكرد يه محيط نرم افزاري مثل فتوشاپ باز كرده اصلا شبيه چيزي براي برنامه نويسي نبود :‌))))

مشكلات اندرويد استوديو با انتشار سريع نسخه هاي جديد توسط تيم گوگل بهبود پيدا كرد و رفته رفته بهتر شد و اينجا بود كه من براي هميشه به ايكليپس گفتم باي باي  ... :)

حالا با محيط جديد يعني اندرويد استوديو انس گرفتم ولي باز برنامه نويسي اندرويد مشكلات خودش را داشت

 

مشكلات زبان جاوا در برنامه نويسي اندرويد

 

جاوا يك زبان قوي هست و تجربه ي خيلي زيادي داره فكر كنم يه سي سال سن داره و شايد سنش از من بيشتره جاوا همه جا كاربرد داره و يكي از زبان هاي قدرتمنده

ولي چيزي كه جاوا نداره سادگي اونه كدهاش خيلي پيچيده هستن ... شايد اين چيزي بود كه به پايتون ميدان داد تا موفق بشه پايتون برعكس جاوا سادگي داره ... كدها قابل فهم و بسيار كوتاه و ساده هستند درست برعكس جاوا كه همه چي در هم برهمه و يه عالمه اسم كلاس و تابع و كدها و سينتكس هاي عجيب غريب و مشكلات و خطاهاي برنامه نويسي كه واقعا رفع كردنش صبر ايوب ميخاد ...

يكي از اون خطاها كه بلاخره در هر برنامه نويس اندرويدي ميخابه خطاي معروف NullPointerException بود كه اسمشو نميدونم خطاي چند ميليون دلاري گذاشته بودن ....

ولي اين مسئله نبود فقط كدهاي جاوا براي برنامه نويسي اندرويد سالم نبودند يعني اگر در يك جايي يك هو يك متغيري مقدارش خالي ميشد اپليكيشن شما كرش ميكرد ...

كيفيت اپليكيشن هاي اندرويدي در مقابل اپ هايي كه براي رقيب اندرويد يعني IOS توليد ميشدن كمتر بود اپ هاي اندرويد بيشتر كرش ميكردن و زودتر باطري رو خالي ميكردن و منابع زيادي از گوشي رو ميگيرفتن

تا اينكه در شركت خوب جت برينز كه خود اندرويد استوديويي كه بالا توضيح دادم هم بر پايه ي يك محيط اوپن سورس به نام اينتلي جي كه ساخته ي شركت جت برينز هست توسعه داده شده .

يعني عملا هسته ي اندرويد استوديو برميگرده به توسعه دهندگان جت برينز ....

خب از بحث دور نشيم داشتيم درمورد محصول جديد جت برينز ميگفتيم بله ! تا اينكه در شركت خوب جت برينز يك زبان برنامه نويسي جديدي خلق شد به نام كاتلين ( kotlin ) كه اين زبان برنامه نويسي در ماشين مجازي جاوا اجرا ميشد درست مثل خود كدهاي جاوا !

يعني قابليت اين رو داشت كه كدهايي با اين زبان نوشته بشه و در اندرويد اجرا بشه !‌

تولد زبان كاتلين

 

اما كاتلين در دل اكثر برنامه نويسان اندرويدي جا باز كرد . اين مسئله زماني بود كه هنوز خيلي ها نميدونستن كاتلين چيه ولي خيلي هاي ديگه اپليكيشن هاي خودشون رو با كاتلين مينوشتن و در نهايت خيلي از مشكلات جاوا ، دردسرهاي جاوا و همچنين باگ هايي كه با جاوا توليد ميشد را ديگه نداشتن

عملا كاتلين مزيت هاي زير رو نسبت به جاوا داره :‌

  1. كدنويسي باهاش راحت تره
  2. كد هاي كمتري قراره بنويسيد (‌ خلاصه است )
  3. يادگيريش آسون تره
  4. كدهاي سالمي داره بخاطر وجود سيستم Null Safety كه باعث ميشه ديگه همينطوري متغيرها مقدار Null به خودشون نگيرن كه فردا اپليكيشن شما هزار بار كرش بكنه
  5. اپ هاي توليد شده منابع كمي از سخت افزار اندرويد اشغال ميكنند
  6. برنامه هاي توليد شده باطري كمتري از ديوايس اندرويدي مصرف ميكند چون مصرف منابعشون كمه طبيعيه
  7. و خيلي چيزاي ديگه

 

 مزيت هاي كاتلين نسبت به جاوا براي برنامه نويسي اندرويد را ديديم و اين رو قبل از ما تيم گوگل هم ديده و همينجا بود كه تصميم گرفتن كاتلين را بعنوان زبان رسمي برنامه نويسي اندرويد معرفي كنند .

كاري كه قبلا سابقه نداشت

خب دقيقا يادم نيست چه تاريخي بود ولي مطمئن چند سالي نميشه كه طي يك مراسمي به نام Google I/O تيم اندرويد گوگل كاتلين را بعنوان زبان رسمي برنامه نويسي اندرويد معرفي كرد . (‌تصوير زير )

 

 

دقيقا اين تاريخ بود كه يهو همه ي برنامه نويسان اندرويد از سرتاسر دنياي حمله كردن به سمت كاتلين ...

همگي هم تقريبا كاتلين رو پسنديدن و من كسي رو نديدم كاتلين را ياد بگيره باهاش اپليكيشن توليد بكنه و بعد بگه اي بابا كاتلينم شد زبان ؟ ولش كن برميگردم سر جاوا !!!‌چنين چيزي اصلا اتفاق نيوفتاده

 

اما من چطور برنامه نويسي كاتلين را شروع كردم

 

 

تازه كه كاتلين اومده بود منابع آموزشي خوب واسش واقعا وجود نداشت نه تو يوتيوب نه تو يودمي نه جاي ديگه !

حتي استك اورفلو هم سوال هاي كاتلين بي جواب ميموند چون اونطور متخصص خوب براش نبود ... خب طبيعيه جاوا ده ها سال قدمت داشت كاتلين دو سه ساله هم نبود ...

اين زبان نو پا تلاش كرد و كم كم رشد كرد

كم كم آموزش ها يكي يكي واسش دراومد …

 

من قبل از اينكه اموزش هاي ويديويي ببينم سعي ميكردم همه چي را از مستندات سايت اصلي زبان كاتلين ياد بگيرم ولي باور كنيد مستنداتش خوب نبودن حتي براي يادگيري آرايه دو بعدي يك هفته علاف شدم و آخرش نفهميدم مستندات كاتلين داره چي ميگه ( هنوزم همونطوره گنگه )‌

ولي آموزش هاي ويديويي خوبي پيدا كردم اوايل خوب دنبال انگليسي بودم و باور هم نميكردم آموزش خوب وقتي براي زبان انگليسي وجود نداره براي زبان فارسي باشه !

ولي با تعجب به يك دوره رسيدم كه در 99 جلسه ... فكر كنم نصف دوره كل سينتكس اين زبان جديد را ياد ميداد و همش در محيط Intellij بود و مدرس خودش ميگفت براي يادگيري سينتكس اصلي كاتلين بهتره با محيط اينتلي جي كار كنيد و بعد كه خوب ياد گرفتيد بريد سراغ اندرويد استوديو و برنامه نويسي واقعي براي اپليكيشن اندرويدي ...

نصف بعدي اين دوره پروژه محور بود يه گيم توش ميساخت و دو تا اپليكيشن كه سورس كدهاش هم كنارش بود خيلي عالي بودن يعني نكات داخلش انقدر روان و خوب گفته شده بودن كه من مسائلي كه هفته ها درگيرش بودن تازه فهميدم عه چقدر ساده بودن ولي من منبع خوبي نداشتم

دوره را اقاي مهندس نيك زاد تهيه كردن واقعا دستشون درد نكنه همينجا تشكر ميكنم ازشون

من هنوزم دورشون رو دارم و از سايت آواسام تهيه كرده بودم

من يه فرهنگ خوب در سايت هاي خارجي ديدم كه مثلا يكي يه محصولي رو ميخره اگر كيفيت خوبي داشت تعريف كردن و معرفي اون محصول به ديگران را وظيفه و مسئوليت خودش ميدونه و اين خلي جالبه

منم خب از اين محصول راضي ام چرا دروغ بگم قيمتشم نسبت به ديگه دوره هاي فارسي فوق العاده بود

اين كاوره محصول آموزشي كاتلين كه ميتونيد استفادش كنيد و من شديدا توصيه ميكنم حتما تهيه اش كنيد :‌

براي تهيه اين دوره هم به لينك زير بريد

 دوره ي آموزش كاتلين استاد نيك زاد

اميدوارم مقالم مفيد بوده باشه

 

تا كنون نظري ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در رویا بلاگ ثبت نام کرده اید می توانید ابتدا وارد شوید.