2009-06-23 9 views

cevap

5

Intellij, karışık Java/Scala projelerini desteklemede iyi bir iş çıkarır. Şu anda Intellij'deki Scala desteği, Eclipse için Scala IDE'den daha iyi görünüyor. (Uzun zamandır Eclipse kullanıcısıyım, kısa bir süre önce bazı Scala kodlayıcılarının tavsiyesi üzerine Intellij'i deniyorum).

+0

Evet, birlikte geliştirme çalışması. Scala modunda javadoc'u görebiliyorum. Maalesef java modunda javadoc'a bir scala maddesinde sormak bir hata mesajı gösterir. – akarnokd

+0

Her ne kadar skaffman eşit derecede iyi bir cevap vermiş olsa da, Intellij'ın daha iyi bir iş yaptığı gibi bunu seçiyorum. Teşekkür ederim. Intellij ile aşina olmadığım için kolay bir karar değildi. Ancak, görevimin uğruna onu da öğrenmek zorunda kalacağım. – akarnokd

+0

+1, IntelliJ, Eclipse'den daha iyi Scala desteğine sahip. –

1

Scala'nın Swing sargısını denediniz mi? Her zaman temeldeki Swing sınıflarına erişme anlamında çok hafif ama çok iyi düşünülmüş. Bunun hoş çalışmak buldum - reaksiyonlar desen olay çok daha kolay taşıma ve aktör çerçevesi çok net PropertyChangeSupport kullanmaktan daha olay yayılmasını yapar yapar

Kendi özel ile kullanmak için mükemmel mümkündür Swing widget'ları da.

+0

ben Scala kitaptan örnek programları denedim ama benim yıllar uzun Salıncak GUI geliştirme deneyimi dan çok farklı buldum. – akarnokd

+0

10 yıldır Swing'i kodluyorum - Scala'ya bir şans verin! –

+0

Programlama ve aktör çerçevesinin ölçeksel yolunu öğrenmek ve Scala GUI geliştirme uygulamalarındaki farklılıkları, diğer Swing GUI-ed projeleri üzerinde çalışırken aynı anda karışıklıklardan kaçınmak için yeterli olacağını düşünüyorum. – akarnokd

21

Eclipse için "resmi" Scala eklentisi, "scala niteliğini" java niteliğiyle birlikte herhangi bir projeye eklemenizi sağlar. Bu, istediğiniz şekilde karıştırıp eşleştirmenizi sağlar.

Dün gece ilk kez Eclipse IDE kullanarak scala ile oynuyordum ve çok iyi çalışıyor.


Ayrıca, sadece bu makalede karşılaştım:

http://www.codecommit.com/blog/scala/joint-compilation-of-scala-and-java-sources scalać aslında bunları derleme olmadan, java kaynağına bağımlılıkları çözmek edebilmek için java hakkında yeterli bildiğini görünüyor. Çok zeki.

+2

Güzel. Bu işbirliği her iki yönde de javadoc/scaladoc için çalışıyor mu? – akarnokd

+0

Bu güzel bir soru. Şüphelenmiyorum. Java ve scala arasında dairesel bağımlılıklar varsa, bu durum garip olabilir. Sürekli entegrasyon sistemleri için bu gerçek bir sorun olabilir. – skaffman

+0

Scalac/javac bağımlılıklarıyla ilgili düzenlemeye bakın – skaffman

0

Scala plugins for NetBeans da iyi durumda. Swing geliştirme ile NetBeans ile çok kolay, sadece aradığınız şey olabilir :)

+0

Evet, bu, el ile kod yazmamak için bir "GUI oluşturucu" kullanmak yerine "tanıdık bir Swing yolu" anlamına geliyordu. Ama gerçek hibrit projenin mümkün olabileceğinden emin değildim. Teşekkürler. (Eclipse için Scala'yı biliyordum ama biraz hayal kırıklığı yaratıyordu - söz dizimi vurgulaması bile Java'da olduğu gibi doğru/anında çalışmıyordu.) Teşekkürler. – akarnokd

1

Uygulamamda başarılı bir şekilde Java ve Scala'yı karıştırdım. Goggle App Engine'de çalışıyor ve UI için Spring MVC kullanıyorum. (Daha sonra kaldırmak için bağlantı noktası olacaktır)

Intellij eklentileri harika bir yardımcıdır. Yine de erken günlerde ve arada sırada sorunlar var. (örneğin, Scala eklentisi derleyicisi, JDO gelişmiş Java sınıflarını çok fazla sevmiyor gibi görünüyor ... etrafta bir iş var ve eminim ki bu hata çok yakında giderilecektir).

Karışım hakkında biraz sıkıcı bulduğum tek şey, Java toplama sınıfını Scala'ya döndüren Java API'ları ile uğraşmak. Çok tatsız ve çemberler arasından atlamak zorundasınız. JAVA (NetBeans GUI-Builder) ve Scala-salıncak Karıştırma

2

:

Sadece GUI-Builder ve bazı kontroller ve basit mantıkla yeni Jpanel yarattı.

object MySampleView extends Frame { title = "SomeTitle" ... 

Sonra ben içeriğine yeni Jpanel ekledi: Scala-Salıncak öğreticiler görülen benzeri

Sonra scala nesnesi oluşturdu

contents = new Component { override lazy val peer = new MySampleJPanel() } 

i her değişiklik görebilirsiniz proje derleme GUI-Builder Cool'da JPanel.

0

Harika !!! Fikri paylaştığınız için teşekkür ederiz.

Yalnızca aşağıdaki kod, GUI'yi tasarlamak için bir GUI düzenleyicisi kullanmış (WindowBuilder + Eclipse + Scala Plugin kullanıyorum) ve daha sonra her şey Scala kullanılarak yapılabilir. Artık bir Java Swing GUI editörü kullanmak ve Scala'daki tüm programları yapmak mümkün.

import swing._ 
import event._ 
object TestApp extends Frame { 
def main(args: Array[String]): Unit = { 
    title = "Scala Swing Test App" 
    val gui = new MyTestPanel() // a JPanel class from the GUI Editor 
    val button = new Button {override lazy val peer = gui.getBtnMyButton()} 
      // getBtnMyButton() is generated in the Gui Editor (Expose Component) 
    contents = new Component{ override lazy val peer = gui } 
    this.listenTo(button) 
    reactions += { 
     case ButtonClicked(b) => println("BUTTON CLICK.") 
    } 
    this.visible = true 
} } 

Mvackel