17 puan yazan GN⁺ 2024-03-25 | 1 yorum | WhatsApp'ta paylaş
  • Kolay self-hosting: Kurulum ve bakımın minimum çabayla yapılabilmesi için tasarlandı. Uygulama, karmaşık iç sorun giderme gerektirmeden çalışacak şekilde geliştirildi.
  • Yatay ölçeklenebilirlik: Basit ama güçlü bir mimariyle Lapdev, tek bir makineden sunucu filosuna kadar ölçeklenebilir; böylece geliştirici ekip büyüdükçe onunla birlikte büyüyebilen bir geliştirme ortamı yönetim sistemi sunar.
  • Kodla tanımlanan geliştirme ortamları: Devcontainer açık spesifikasyonu kullanılarak geliştirme ortamları kodla tanımlanabilir; böylece farklı geliştiriciler arasında standartlaştırılmış geliştirme ortamları çoğaltılabilir, ortam kaynaklı sorunlar önlenir ve herkes için tutarlı bir kurulum sağlanır.
  • Onboarding süresinden tasarruf: Bir geliştiriciyi yeni bir projeye dahil ederken, makinede ortam hazırlamak için saatler veya günler harcamak gerekmez. Hemen kodlamaya başlanabilir.

Planlanan özellikler

  • Çeşitli çalışma alanı türleri desteği: Şu anda Lapdev yalnızca konteyner tabanlı çalışma alanlarını destekliyor, ancak örneğin geliştirme akışında bir k8s kümesi çalıştırmak istendiğinde bu sınırlayıcı olabiliyor. VM ve bare metal makine desteği yol haritasında yer alıyor; ayrıca Windows, Linux, macOS gibi çeşitli işletim sistemleri desteği de planlanıyor. Bu sayede geliştiriciler makine değiştirmeye gerek kalmadan aynı yerel makinede geliştirme ve hata ayıklama yapabilecek.

GN⁺ görüşü

  • Lapdev, geliştiricilerin kendi sunucularında veya bulutta uzak geliştirme ortamlarını kolayca kurup yönetmesini sağlayan bir araçtır; geliştirme ortamlarının standardizasyonunu ve hızlı onboarding'i mümkün kılarak verimliliği artırabilir.
  • Bu tür araçlar, özellikle büyük geliştirici ekipleri veya aynı anda birden fazla proje yürüten organizasyonlar için faydalı olabilir; geliştirme ortamlarında tutarlılığı korurken ölçeklenebilirlik de sunar.
  • Ancak bu teknolojiyi benimsemeden önce güvenlik, uyumluluk ve destekle ilgili değerlendirilmesi gereken noktalar olabilir; ayrıca self-hosted bir çözüm kullanmanın doğurabileceği ek bakım yükü de hesaba katılmalıdır.
  • Piyasada, Visual Studio Code'un Remote Development Extensions'ı gibi benzer işlevler sunan başka araçlar da mevcut; kullanıcılar kendi ihtiyaçlarına en uygun aracı seçmelidir.
  • Lapdev'in VM ve bare metal makine desteği planlıyor olması, farklı geliştirme ortamı ihtiyaçlarını karşılamaya yönelik bir çaba olarak görülebilir; bu da geliştiricilere daha geniş seçenekler sunacaktır.

1 yorum

 
GN⁺ 2024-03-25

Hacker News görüşleri

  • Yerel sunucu donanımında geliştirme konteynerlerini (devcontainers) aylık ücret olmadan kullanabilmek kulağa çok iyi geliyor. Şimdiye kadar docker-compose ve JetBrains'in uzak SSH geliştirmesini kullanıyordum, ama bu yeni yaklaşımın çok daha iyi olmasını bekliyorum.

  • Uzak geliştirme ortamlarıyla ilgileniyorum, ancak bulutta daha fazla yazılım yönetme fikri beni pek heyecanlandırmıyor. k8s kümesi yönetmek zorunda kalmadan geliştirme makinesi başlatmaya yarayan, bulut API'lerine eklentisi olan Skypilot'u kullandığım için bunu iyi bir fikir olarak görüyorum. Jupyter sunucusu başlatmada daha iyi çalıştı, ama birkaç SSH/VS Code yapılandırmasıyla "tam" bir geliştirme makinesi de mümkün gibi görünüyor.

  • Uzak geliştirme ortamları belirli geliştirme türleri için kısıtlayıcı olabilir. Örneğin iOS ve Android uygulama geliştirme zor olabilir ya da GPU gerektiren oyun geliştirmede derleme çıktılarının indirilmesi yavaş kalabilir. Bunu çözmeye yönelik bir rehber olup olmadığını merak ediyorum.

  • Bu tür araçlar hakkında daha fazla şey öğrenmek istiyorum. Coder'ın .devcontainer için alfa desteği içerdiğini gördüm, ancak diğer OSS seçeneklerini bilmiyorum.

  • Proxmox kurulumu kullanıyorsanız mevcut VM/konteynerleri klonlayıp yalnızca VSCode'u onlara yönlendirmeniz yeterli. Bu aslında ne ekliyor? Otomasyon değil (çünkü Proxmox'ta birkaç tıklamayı otomatikleştirebilirsiniz), kaynak yönetimi de değil (çünkü depolama vb. işlerini Proxmox hallediyor). Geliştirici kimliği mi? Eğer gerçekten gereken tek şey buysa, ortamlara SSH anahtarlarını dağıtmak için (nispeten basit) bir betik yazmak gerekir.

  • Uzak makinede barındırılan VSCode olan code-server ile SSH'yi birlikte kurmak zorunda kaldığım deneyimden sonra, ikisinin de daha iyi yönetildiği bir deneyim oldukça ilgi çekici geliyor.

  • Bu alandaki bir başka uygulama da devpod.sh.

  • Düğmenin metnini ortalayarak daha çok düğme gibi görünmesini sağlayabileceğinize dair bir tasarım ipucu veriyorum. Metni sola hizalamak onun bir etiket gibi görünmesine neden olabilir; küçük bir değişiklik ama daha iyi dönüşüm sağlayabilir.

  • Bunun uzak bir sunucuya kurulduğunu anlıyorum. Peki bu uzak bir ortam mı sağlıyor, yoksa yerel bir ortam mı? Ayrıca bu bağlamda "ortam" tam olarak nedir? Bir Docker compose dosyası ve .env mi? Kod ya da vim ayarları mı? Vagrant benzeri bir VM mi?

  • Şu anda devcontainers ile ilgili temel sorun, GUI uygulamaları uzaktan çalıştırdığınızda arayüzün yalnızca sunucuda açılması. Bu çözümün GUI'yi uzaktan dışa aktarabilip aktaramadığını merak ediyorum.