تفاوت هاي كليدي كاتلين و جاوا
اينك كه ما يه خرده موضوع داريم، طراحي اپليكيشن ممكن ميباشد تعجب فرمائيد كه چهگونه پرورش كاتلين بر جاوا تأثير ميگذارد. آيا كاتلين جايگزين آن شود؟ جواب بدين آساني وجود ندارد. راجعبه اين مورد ايده ها گوناگون متعددي وجود داراست. براي شعور هر دو طرف دعوا، اذن دهيد آغاز نگاهي ظريف به تفاوت آنها بيندازيم.
١. خطاي Null Pointer Exceptionخطاي Null Pointer Exceptions در جاوا براي بسط دهندگان دردسر متعددي را توليد مي نمايد. راياپارس ايده پشت Null Pointer Exceptions اين ميباشد كه يوزرها را قوي مي سازد تا يك مقدار null را به هر متغير نسبت دهند. جاوا به توسعه و گسترش دهندگان اين قابليت را ميدهد كه يك مقدار null را به هر متغيري تخصيص دهند. با اين درحال حاضر، در صورتيكه آنها كارايي نمايند از يك مرجع شي كه دارنده مقدار تهي ميباشد به كارگيري نمايند، خطاي NullPointerException ظواهر ميگردد.
در مقابل، در Kotlin، به صورت پيش فرض نمي قدرت مقادير null را به متغيرها يا اين كه شي ها نسبت بخشيد. درحالتي كه كارايي كنيم اين شغل را اعمال دهيم، كد در طول كامپايل با باخت مواجه ميگردد. بدين ترتيب، Null Pointer Exceptions در Kotlin نيست. با اين درحال حاضر، در صورتي توسعه و گسترشدهنده بخواهد به يك متغير application يك مقدار تهي تخصيص دهد، مي تواند متغير متبوع را به تيتر يك متغير nullable نشانگذاري نمايد. براي اين فعاليت از فرمان پايين به كار گيري ميشود:
val number: Int? = null
بيشتر بخوانيد: “خطاهاي رايج در گويش نرم افزارنويسي جاوا“
٢. پيشرفت توابعبرخلاف جاوا، Kotlin به توسعه و گسترش دهنده اذن مي دهد تا همت كلاسها را سواي نياز به ارث بري از يك كلاس توسعه و گسترش دهد. در جاوا، براي توسعه و گسترش كارايي يك كلاس مو جود، مي بايست يك كلاس تازه ساخت و توابع را از كلاس والد به ارث موفقيت.
٣. وسعت كديكياز تفاوت هاي كليدي كاتلين و جاوا اين ميباشد كه كاتلين به كد كمتري نياز دارااست. همانگونه كه گفته شد كاتلين يك گويش بسيار مختصر ميباشد. بهاين مفهوم كه يك نرم افزار جاوا را مي اقتدار با تعداد كمتر كد در كاتلين نوشت. مجموعاَ، مختصر بودن كاتلين، تايپ كردن پروژههاي گران قدر را قابل رئيس خيس مينمايد. اين مورد احتمال نادرست را تا حد بسيار متعددي كاهش ميدهد.
۴. كلاس هاي دادهمعمولا در پروژه هاي گران قدر جاوا از يكسري كلاس استعمال ميشود كه تنهاً براي مراقبت اطلاعات پياده سازي گرديده اند. اگرچه اين كلاسها همت بسيار مقداري دارا هستند يا اين كه ابداً سعي ندارند، با اين هم اكنون يك پيشرفت دهنده بايستي كدهاي boilerplate متعددي را در جاوا بنويسد.
در مقابل، كاتلين منش معمولي تري براي ساخت و ساز كلاس ها براي مراقبت داده ها ارائه ميدهد. بدين شكل كه اپ نويس با گنجاندن واژه كليدي “data”، كلاس را تمجيد مي نمايد.
۵. coroutinesاز آن جايي كه اندرويد به صورت پيش فرض تك فن اي ميباشد، هر مجال كه عمليات وقت گير بازه زماني I/O يا اين كه CPU را در كانال فعالسازي گردد، فن مربوطه مسدود ميگردد. جاوا توانگري ساخت و ساز يكسري فن را مهيا مي نمايد، ولي مدير آنها يك شغل بغرنج ميباشد.
در كاتلين ما قادر خواهيم بود يكسري حرفه براي اجراي اين عمليات فشرده وقت گيرزمان ساختوساز كنيم، كه در طي اجراي عمليات فشرده زمانبرزمان، اعمال را در يك نقطه خاص فارغ از مسدود كردن فنها متوقف مينمايد.
۶. Type interfaceدر جاوا بايستي نوع متغير را به صراحت مشخص و معلوم كنيم.
در kotlin نيازي وجود ندارد كه نوع هر متغير را به صورت مصرح معين كنيم.
٧. Checked exceptionدر جاوا Checked exception رسيدگي ميگردد كه در غايت باعث به كد قادر با مدير عالي اشتباه ميشود.
ولي در كاتلين ما Checked exception نيست. براين اساس گسترش دهندگان نيازي به اعلام يا اين كه به چنگ آوردن استثناها ندارند، كهاين بسته به گسترش دهنده قادر است موءثر يا اين كه غيرمفيد باشد.
٨. اپليكيشن نويسي كاربردي (Functional programming)لهجه اپليكيشن نويسي جاوا تا پيش از java8، از نرمافزار نويسي كاربردي امان نمي نمايد.
كاتلين تركيبي از گويش نرم افزار نويسي راه اي (procedural programming) و كاربردي ميباشد كه از طريق هاي موثر بخش اعظمي مانند لامبادا، operator overloading، توابع درجه بالا و غيره تشكيلشده ميباشد.
برچسب: طراحي اپليكيشن،