Javalin vs Express

356463

Kilopat
Katılım
27 Temmuz 2020
Mesajlar
4.428
Makaleler
7
Çözümler
40
Bir API yapıyorum. Bunun için Java dili ile Javalin mi yoksa Node.JS ile Express mi kullanmalıyım?
Hangisini ve neden önerdiğinizi açıklarsanız daha iyi olur.
@bitwise
 
Son düzenleme:
Java veya Javascript'ten birisi hakkında bilgi sahibi misin ?

Yoksa ikisini de bilmiyorsun ve birine başlamak için mi soruyorsun ? Eğer böyle ise 1 numaralı backend dili Node.js
 
Bir proje üzerinde çalışıyoruz arkadaşlar ile. Server-Side bende. Bu yüzden API'yi en başta Node.JS ile yazdım. Ancak diğer arkadaşlar beğenmedi(daha deneme amaçlı yaptığım bir API'dı) ve tutturdu Java öğren, javalin kullan. Node.JS çok olmasa da biliyorum, ama Java hiç bilmiyorum.
Ayrıca hangisini ve neden önerdiğinizi açıklar mısınız?
 
Node.js ile yazacağın bir uygulamanın kalitesini sen belirlersin, çünkü JavaScript katı kurallara sahip bir dil değil.

Sana tavsiyem; TypeScript öğrenip, Node.js uygulamalarını TypeScript ile yazman olacaktır. Bir şekilde Node.js ile bir API ayağa kaldırmışsın, bu nedenle Node.js ile devam etmen ve kod kaliteni arttırman daha kolay olacaktır. Farklı bir dile yönelmek sana uzun vadede kesinlikle bir şeyler katacaktır, fakat kısa sürede zaman kaybı olarak dönecektir, çünkü senden istenen şeyi bir an önce ortaya koymaya çalışacaksın. Tabii bu ortaya koymaya çalıştığın şey bile seni geliştirir, ama anladın sen.

Arkadaşların neyi beğenmedi mesela? Request body'de eksik veri gönderdiğin zaman bile endpoint'in işleme devam ediyor mu? O zaman request body validation araçlarından birini kullan*. MySQL tarzı bir veritabanına direkt SQL sorguları mı yapıyorsun (bunu normalde de önermem)? O zaman bir ORM aracı seç** ve modellerin aracılığı ile veritabanı işlemlerini gerçekleştir. Bunlar birer örnek. Başka dil ile yapıp, Node.js ile yapamayacağın şey yok. He arkadaşların senin yazdığın kodu değil de, Node.js'in yapısını beğenmiyorsa diyebileceğim tek bir şey var; back-end'i sen yazıyorsun ve dili sen belirlersin.

Dil/runtime vs. karşılaştırması yapmadım, genel örneklerle öneri yapmaya çalıştım. Umarım sana yardımı dokunur.
 
Yapacaginiz ise gore degisir.

DB uzerinden CRUD isler yapacaksaniz ( ki oyle muhtemelen ) ve hali hazirda JS biliyorsan maceraya gerek yok.

API'nin begenilmeyen tarafi nedir? Sirf JS ile yazman begenilmemesine sebep olduysa dil degistirmektense arkadaslarini degistirmeyi dusunebilirsin. Araci amac edinen ile proje yurumez.
 
Iki dili de profesyonel olarak kullaniyorum. Ikisinin de birbirine gore artilari ve eksileri var.

Genelde web uygulamalarinda 3 katman bulunur. Veriye eristigin katman, veriyi isledigin katman ve kullaniciya bir cikti urettigin katman. Iste bu veriyi isledigin yer yani business logic ne kadar yogunsa bu tip uygulamalarda bana gore statically-typed ve OOP destegi olan bir dil kullanmak daha mantikli. Cunku bu tarz uygulamalarda genellikle kodu daha duzenli ve organize tutmak, compile time dedigimiz zamanda yapilabilecek hatalarin onune gecebilmek kisacasi duzen ve guvenlik, hizli uretim yapmaktan daha on planda oluyor.

Tam tersi eger yapacagin web app'te business logic fazla yogun degilse daha ziyade bir veri tabanindan kayit okuyup yazdigin tarzda bir uygulama yaziyorsan ve hiz on plandaysa o zaman moduler scripting dillerini kullanmak daha mantikli olur bana gore.

Bu yazdiklarim tabii ki genel gecer kaideler degil. Sadece sahsi goruslerim. Profesyonel meslek hayatimda cok degisik projelere rastladim. Eger ki bu teknolojilere ilgin varsa profesyonel olmadan once ikisini de ogrenmeye bak derim. Cunku belli bir is temposundan ve doygunluktan sonra sifirdan bir seyleri ogrenmek o kadar kolay olmayabiliyor.

Frameworkler ozelinde degil, diller genelinde konusacak olursak da Java, JavaScript'e gore cok daha kapsamli derya deniz bir dil. Tavsiyem web tarafinda calisacaksan oncelikle JavaScript'i ogrenmen, daha sonra da Java'yi ogrenmen yonunde olur.
 
Java veya Javascript'ten birisi hakkında bilgi sahibi misin ?

Yoksa ikisini de bilmiyorsun ve birine başlamak için mi soruyorsun ? Eğer böyle ise 1 numaralı backend dili Node.js

"1 numaralı backend dili NodeJS" söylemine katılmıyorum. (Ayrıca NodeJS bir dil değil.)

Hızın kritik olduğu bir backend gerekiyor ise C++ ile birlikte Drogon Framework veya Rust kullanırım.
Proje düzeni açısından Ruby on Rails, Laravel veya AdonisJS tercih edilebilir, hazır proje yapısı sunarlar.

Konuya cevap olarak;
Arkadaşların oluşturduğun backend'in neyini beğenmedi?
Yukarıdaki verdiğim bilgilere göre tercih yapabilirsin.
Ayrıca, sadece Javascript biliyorsan NodeJS ile devam edebilirsin. Doğru kullandığın sürece bir sorun yaratmayacaktır. AdonisJS, Fastify veya ExpressJS tamamen sana kalmış. @berk1937 'nin de bahsetmiş olduğu gibi Typescript kullanman senin ve projenin yararına olacaktır.

Arkadaşların sadece Javascript'e önyargılı yaklaşıyorsa makale göndererek fikirlerini değiştirebilirsin.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…