Server development with Kotlin


#1

سلام دوستان : )
کسی تجربه کار با کتلین روی سرور رو داشته ؟؟‌
دو نمونه فریم ورک هست ک خیلی تو چشمه … یکی ktor یکیم vert.x

کتلین فانکنشنال کامل نیست . مالتی پارادایم هست … و بخوبی هم OOP ساپورت میکنه :star_struck:
اما نمیدونم شرایطی ک برای استفاده از coroutines ایجاد میکنه کاملا سیف و ایمن هستن یا باید خودمون حواسمون باشه : )

اگه علاقمند بودید یا تجربه داشتید حتما به اشتراک بزارید …


#2

سلام بله کاتلین مثله سکالاس ازاین‌جهت من با ktor یک‌ api قبلا درست کردم

Javalin و spark (نه فریمورک بیگ دیتا) هم دیدم‌ولی ktor ساخته jetbrains شرکت سازنده kotlin هستش
Coroutine ها به خوبی کار می‌کنند جایی برای نگرانی نیست


#3

بسیار عالی , کمک بزرگی بود . احتمالا آپشن بعدیم بعد تموم شدن پروژه تستیم روی راست . کتلین هست :relaxed:


#4

من از vert.x با scala و کلوژر کار کردم. پرفرمنس خوبی داره در مقایسه با برخی از رقباش خیلی پیشنهاد می کنم یا ازش استفاده کنین یا برای الهام گرفتن یه نگاهی بهش بندازین


#5

راستی کتلین نسبت به اسکالا و کلوژور بهبودی توی اپتیمایز شدن داشته ؟
من شنیدم مصرف منابع لیفت و پلی خیلی بالاست : ) و برای پلتفرمای بیگ دیتا صرفه داره …


#6

در مورد kotlin زیاد اطلاع ندارم اما منطقا باید مثل scala و کلوژر باشه. همه در نهایت به یه bytecode کامپایل می شن و فرق خیلی چشم گیری باهم ندارن.

من کلا از پلی خوشم نمیاد اگه بخوام نظر بدم جزء بدی چیزی نمی تونم بگم :smile:


#7

برای اپلیکیشن تو شرایط برابر صحیح ک مثل هم هستن . اما مدل پیاده سازی و مدیریت و رندر و ریکوئست و رسپانس هرکدوم و وب سرور هاشون اصولا باید تفاوت داشته باشه . درست نمیگم ؟


#8

مثلا نمیشه تامکت و جی باس رو مقایسه کرد ؟ چون جفتشون با جاوا هستن ؟؟


#9

کاتلین یک سری پیچیدگی های سکالا رو نداره ولی از نظر سرعت پلی و لیفت معیار خوبی نیستند
Finatra finch fintrospect که همه بر اساس finagle تویتر خیلی سریع هستند
Http4s و colossus هم بسیار سریع هستند
Scala در زمینه server side بسیار قوی تر از کاتلین هستش
همه کتابخانه های روی jvm از جاوا سکالا کاتلین باهم کار می‌کنند


#10

خوب مشخصا ابزار هاشون باهم متفاوت خواهند بود. من فقط خود زبان ها رو در نظر گرفتم. اما یه خوبی این زبان ها اینه که روی یه VM هستن و می شه از کد ها و کتابخانه های همدیگه استفاده کنن.


#11

من هم با ktor کار کردم هم با اسپرینگ و به نظرم ktor به خاطر coroutine ها جذاب تره البته اسپرینگ واقعا خیلی امکانات داره یعنی عملا هرچی بخواین رو داره البته از یه نگاه هم ضعفه چون خیلیا ( ازجمله خودم ) ترجیح میدن یه سری لایبرری کوچیک داشته باشن یا یه فریمورک بزرگ


#12

منظورم بیشتر این بود ک برای یه بلاگ و crud مینیمم رم 8 و دوتا core زئون یوقت نخواد :sweat_smile:
من الان دارم با falcon / python … روی 512mb رم با یه cpu داغون یه اپ با پرفورمنس فوق العاده هندل میکنم


#13

نه آنقدر بد نیست jvm دو مشکل داره
شروع process خیلی منبع میبره
Global garbage collection pause
زمان garbage collection بعضی وقتها به صورت global انجام میشه و تمام process ها رو نگه میداره
به غیر از اینا اکثر وب سرور های وب سایت های بزرگ دنیا یا روی jvm هستند یا توی stack یک جا از jvm استفاده می‌کنند


#14

اگه بشه روی Jetty دیپلویش کرد حله . خیلی کم مصرف بود موقعی ک با سرولت کار میکردم


#15

بله بصورت default میشه از documentation
Ktor Application can be hosted in any servlet container with Servlet 3.0+ API support such as Tomcat, or standalone using Netty or Jetty.