2010-01-03 15 views
48

Có ai đã thành công trong việc phát triển một ứng dụng Android đáng kể ở Scala không? Nó là một lựa chọn khả thi chưa? Có môi trường phát triển trưởng thành nào không? Với trạng thái của trình cắm thêm Eclipse Scala, có vẻ như không có sự hỗ trợ IDE tốt nào khác ngoài IntelliJ Ultimate.Phát triển Android đáng kể ở Scala

Một vài người đã đăng các hướng dẫn mô tả cách fudge Eclipse ADT để sắp xếp hỗ trợ Scala và cách slim the Scala libraries sử dụng Proguard, nhưng ngoài ra còn có rất ít thảo luận về chủ đề này.

Cập nhật 2011/08/01: Một bài viết thú vị trên Android + Scala từ các nhà phát triển đằng sau ứng dụng Bump: Bump Dev Blog - How we use Scala in Bump for Android

+1

Cũng thấy https://groups.google.com/group/scala-debate/browse_thread/thread/125dd06446c8c078/461456b4244dc407?lnk=gst&q=android#461456b4244dc407 - có vẻ như có vấn đề về Dalvik ngay cả với proguard. Về cơ bản nó không phải là khó khăn như vậy để sản xuất mã chạy vào giới hạn 5meg Dalvik trên dữ liệu lớp học, ngay cả sau khi proguard. –

Trả lời

39

Tôi lập trình dự án ứng dụng Android của tôi trong Scala.

Nếu bạn quan tâm, bạn có thể mất một cái nhìn lúc này:

Ya, nó là một trang web Trung Quốc, nhưng bạn chỉ có thể có một cái nhìn tại ảnh chụp màn hình để có được một số ý tưởng về việc Scala có thể làm mọi thứ với Android SDK giống như Java.

Mã nguồn của hai ứng dụng Android được lưu trữ trên GitHub: http://github.com/brianhsu/Maidroid

Hiện nay tôi không sử dụng bất kỳ IDE, vì Vim/SBT được thêm rất nhiều thuận tiện và nhẹ sau đó bất kỳ IDE tôi từng sử dụng.

Và nếu bạn đang sử dụng SBT để xây dựng ứng dụng Scala Android, bạn không cần phải lo lắng về những thứ progruard, chỉ cần cài đặt sbt android-plugin và thiết lập dự án của bạn.

Bạn có thể đọc this blog entry để tìm hiểu cách tạo ứng dụng Android của bạn với SBT.

BTW, tôi sử dụng plugin sbt thủ công của riêng mình được gọi là sbt-android trong dự án của tôi, thay vì android-plugin được metion trong bài đăng trên blog đó.

+4

Xin chào Brian, cảm ơn câu trả lời của bạn và cũng để xuất bản mã nguồn. SBT với bất kỳ plugin nào trông giống như một cách tiếp cận tốt đẹp.Bạn đã có bất kỳ vấn đề với cách tiếp cận này bất cứ điều gì, hoặc có nó được một chuyến đi suôn sẻ tất cả các cách? Thấy rằng bạn đã viết ứng dụng Android bằng Java, bạn sẽ so sánh trải nghiệm như thế nào? – ehnmark

+4

tốc độ của ứng dụng android dựa trên scala là gì? Scala tạo ra rất nhiều các tập tin lớp và sẽ không làm chậm ứng dụng Android? – Ajay

+0

Brian, tôi nhận được 404 khi tôi cố gắng tìm dự án sbt-android của bạn trên GitHub. Nó vẫn còn hiệu lực phải không? Tôi đã cố gắng để có được android-plugin để làm việc với ít may mắn - nó có vẻ là khá bị hỏng với các phiên bản mới nhất của Android SDK :-(Cảm ơn! –

7

Có một plugin mới, AndroidProguardScala mà làm cho mọi thứ đơn giản:

https://stackoverflow.com/a/11084146/1287856

Thử nghiệm trên Windows 7, với Eclipse 3.7, scala 2,9 và không có thậm chí sử dụng dòng lệnh hoặc các công cụ tùy chỉnh kiến. Với nó, tôi đã xây dựng một ứng dụng thực sự cho doanh nghiệp của tôi hiện đang được phát hành trên Google play.