2011-01-10 7 views
75

Czy można zaprogramować aplikacje na Androida w Clojure? Czy ktoś może zaproponować dobry tutorial lub książkę, jeśli to możliwe?Clojure na Androida

Odpowiedz

6

To zostało odebrane before. Tak, jest to możliwe dzięki kilku drobnym hackom. Jednak ostatnim razem próbowałem to było bardzo powolne i bardzo głodny pamięci. Tak było w przypadku Clojure 1.1 i Androida 2.1. Od tego czasu sytuacja mogła ulec poprawie.

+13

wydaje się, że za każdym razem to pytanie jest zadawane, aby uzyskać lepsze odpowiedzi :) (ponieważ w odpowiedzi jest bliżej "tak to działa" i dalej od "może to kiedyś zadziała") może następnym razem, gdy zostanie zapytany, dostaniemy naprawdę "dobra" odpowiedź –

17

Clojure korzysta z Androida 2.2, który znacznie poprawia czasy ładowania klas. Clojure tworzy wiele małych klas, które "wiecznie" ładowały się na poprzednie wersje Androida.

check out this „w toku” prace nad swank plugin dla androidowania z Clojure

+3

heh, myślałem, że "swank" tutaj był po prostu kolejnym przymiotnikiem. –

+0

Link jest zepsuty? – Annan

+3

Rozumiem, spróbuję znaleźć miejsce, do którego się przeprowadziłam. Całkiem fajne 404 chociaż :) –

26

Tak, tutaj jest głównym projektem Jestem świadomy: https://github.com/remvee/clojurehelloandroid

I tu jest mały poradnik http://riddell.us/ClojureAndAndroidWithEmacsOnUbuntu.html choć nie będę bądź zaskoczony, jeśli ten tutorial jest nieaktualny, ponieważ minęło ponad rok, kiedy grałem z kodem po tym samouczku, a kod remvee został zaktualizowany.

EDIT: patrz aktualizację tu od Stuarta Sierra i/rdzeń grupy Clojure: http://groups.google.com/group/clojure/browse_thread/thread/876c90d3ae353c61

„Clojure 1.2.0 działa "out of the box" na Androidzie, ale czas uruchamiania jest wciąż problemem. Niektórzy członkowie Clojure/rdzenia eksperymentowali z sposobów, aby to lepiej, głównie przez selektywnego usuwania materiału, który nie jest potrzebne przy starcie.

Śledź http://dev.clojure.org/display/design/Android+Support dla wiadomości. Ostatnia aktualizacja była przez Aarona Bedra, członka Clojure/core, w grudnia 2010 roku. Nie powiedziałbym, że jest to teraz wysoki priorytet , ale ani jeden nie stracił zainteresowania.

Ja osobiście nie polecam pisania aplikacji dla systemu Android w Clojure, jeśli zamierzasz go od razu opublikować. Ale jeśli jesteś zainteresowany eksperymentować z Clojure na Androida i co lepiej, to idź do niego.”

14

Nowa opcja dla Clojure na Androida jest ClojureScript.

ClojureScript kompiluje Clojure w JavaScripcie które można następnie zawinąć w aplikacji, która omija całkowicie Dalvik-VM i unika problemów z obciążeniem, , jeśli twoja aplikacja jest dostosowana do javascript.) wiele aplikacji szukających ściślejszej integracji integracji z platformą nie może korzystać z tego podejścia Jeśli Twoja aplikacja może żyć bez napięcia Integracja platform może to zaoszczędzić sporo czasu .

+0

To źle, nie możesz napisać skryptu java z clojurescript – gtrak

0

Wyszukaj "Clojure REPL", "Clojure" lub "Sattvik Software" w Android Market, a znajdziesz doskonały REPL. Używam go w moim tablecie XOOM 1, najpierw z systemem Android 3, a teraz z systemem Android 4.0 bez żadnych problemów.

Jeśli przeprowadzisz wystarczająco intensywne wyszukiwanie, znajdziesz programy dla Java (Java IDE), Ruby (Ruboto IRB), Python, Lua, Perl, Javascript (SL4J dla ostatnich czterech, także SigmaScript dla Lua), ISLisp (tiny- ISLispdroid), OCaml (OCaml Toplevel), Scheme, C, C++, C#, Pascal, Basic, a nawet Forth!

Żałuję, że nadal nie ma go w Scali!

+3

To pytanie nie było tak bardzo jak "Jak mogę uruchomić kod Clojure na urządzeniu z Androidem", ale raczej "jak mogę pisać aplikacje na Androida w Clojure " –

8

Wiem, że to trochę stare, ale na wszelki wypadek, gdy ktoś się na to natknie, clojure na Androida ma długą drogę od powyższych odpowiedzi. Projekty lein-droid i Neko znacznie ułatwiają pisanie pełnych programów dla Androida z wykorzystaniem clojure od początku do końca.