EleRam

برای پروژه جدید از reactnative استفاده کنم یا kotlin؟

EleRam ۱۳۹۷/۰۷/۱۷ 192 زبان برنامه‌نویسی کاتلین

سلام و عرض ادب خدمت همه دوستان

من تجربه کار با React و ReactNative رو دارم.

الان در حال تعریف یک پروژه جدید روی اندروید هستم.

با توجه به تعاریفی که از Kotlin خوندم، خیلی تمایل دارم که این پروژه رو با اون انجام بدم اما چند سوال ذهنم رو درگیر کرده و نیاز به راهنمایی دارم.

- با توجه به اینکه من جاوا کار نکردم، استفاده از Kotlin برای من مشکل خاصی بوجود نمیاره؟

- پروژه من کاملا فارسی هست و نیاز به کامپوننت‌هایی مثل: تاریخ و دیت پیکر شمسی داره که توی React به راحتی Library ها و کامپوننت‌های مختلف در دسترس هستند. اما در Kotlin وضعیت چطوره؟

متشکرم.

پاسخ‌ها به این تاپیک
mostafa
mostafa
۱۳۹۷/۰۷/۱۷

سلام ، همینطوری نمیشه جواب داد کدوم خوبه کدوم بد ، مگه از روی خامی و بی تجربگی در حوضه IT ، بستگی داره توی پروژتون چه کارهایی میخواهید انجام بدید ، چه پردازش هایی دارید ؛ آیا کارهایی که میخواید انجام بدید react اونها رو مثل native ساپورت میکنه

در حالت کلی ReactNative مشکلات زیر رو داره :

-کمبود اختیارات 

-error handling ضعیف

-عدم پشتیبانی از decimal

به عنوان مثال 

console.log(0.1 + 0.2) //0.30000000000000004
console.log(0.1 + 0.2 === 0.3) //false

- ضعف در ریاضیات 

var a = 0
var b = -0

console.log(a === b) // true

console.log(1/a === 1/b) // false

-مشکل در initial کردن کردن آبجکت ها : 

جاوا اسکریپت اجازه می ده که اشیاء پس از ایجاد، در یک حالت متناقض بمونن، چون پرپارتی های آنها نیازی به مقداردهی اولیه نداره.

 - مشکل Ambiguous curly braces 

-مشکل Switch fallthrough 

-مشکل Leaky abstractions 

و ده ها مشکل ریز و درشت دیگه 😀😀

علی رضا کامکار
علی رضا کامکاربرنامه نویس وب و موبایل
۱۳۹۷/۰۷/۱۷

سلام.

برای استفاده از Kotlin یا React-Native یک سری فاکتور هارو باید در نظر بگیرید.

شما با React-Native میتونید هم خروجی iOS بگیرید هم اندروید ولی با کاتلین فعلا خروجی شما روی JVM هست پس روی دسکتاپ و اندروید (و هر دیوایسی که روی اون JRE باشه) قابل اجراس. (جدای از Kotlin-Native که نسخه آزمایشی هست).

پس از نظر زمانی و هم هزینه ساخت برای کارفرماها انتخاب React-Native به صرف تر هستش.

از نظر پرفورنمس هم هر دو خوب هستن و از اونجایی که React-Native خروجی native میده پس از نظر پرفورمنس خیلی خوبه. اما Kotlin کلا برای اندروید ساخته شده و توسط خود سازنده اندروید یعنی گوگل ساپورت میشه پس انتظار میره یک گاهی اوقات از نظر عملکرد یک مقدار بهتر باشه.

البته این اصلا به معنی ضعیف بودن react-native نیست و اپ های خیلی خیلی بزرگی مثل facebook و instagram توسط react-native ساخته شدن.

از نظر Community هم هر دو خوب هستند ولی از اونجایی که اکثر برنامه های فعلی با جاوا کار میکنن پس سورس کد های بیشتری سازگار با kotlin هستند.

از نظر لایبرری هم Javascript و هم Kotlin (به واسطه قدمت و بزرگی جاوا) هر دو لایبرری های خیلی خوبی دارن که کامل جواب کارتون رو میدن.

همچنین اگر قبلا برنامه نویسی وب کردید و با JS هم حرفه ای کد میزنید و خصوصا اگر با ReactJs کار کردید، react-native انتخاب بسیار خوبی میتونه براتون باشه.

 

فاکتورهای دیگه هم هست مثل علاقه خودتون به زبان برنامه نویسی و بازار کار و اینها که اگر بخوایم راجبش صحبت کنیم خودش یک مقاله جداگونه میشه ;).

موفق باشید.