REST API w JAVA?

Odpowiedz Nowy wątek
2014-10-14 11:55
0

Witam wszystkich. Panowie mam do Was pytanie. W chwili obecnej wszystkie aplikacje napisane na Androida używają REST API do komunikowania się z bazą danych na serwerze. Moje pytanie jest takie. Większość osób używa do tego celu innych języków programowania takich jak JS, PHP itp. Przecież to samo można zrobić w języku JAVA, napisać API które będzie słuchało zapytań HTTP i na nie odpowiadało. W aplikacji używając odpowiedniego URL z GET, POST itp. Czy użycie PHP i JS jest tylko ze względu na prostote tych języków? Czemu developerzy nie używają JAVy?

Pozostało 580 znaków

2014-10-14 12:02
1

Nie wiem czemu uważasz że nie używają. Zresztą nie trzeba wcale pisać własnego API bo choćby taki Spring MVC daje wsparcie dla REST out-of-the-box ;]
Inną sprawą jest kwestia hostingu i serwera. Hosting na PHP znaleźć łatwo, szczególnie darmowy. A dla javy zwykle musisz jednak kupić takiego VPSa.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2014-10-14 12:12
0

Proste - hosting. PHP+MySQL postawisz nawet na bieda serwerze za darmo. Z javą już tak nie zrobisz. Darmowych hostingów w praktyce nie ma, a jak są to w mocno okrojone. Płatne za to są dośc drogie jak na kieszeń przeciętnego deva z PL.

Pozostało 580 znaków

2014-10-14 12:12
0

To prawda... W tej chwili VPS typu Amazon Cloud czy Google Compute Engine są dostępne za niewielkie pieniądze, a dają o wiele większe możliwości i kontrole nad tym wszystkim. O Springu chętnie poczytam chociaż będę chciał się lekko poduczyć więc zapewne jeszcze dzisiaj spróbuje napisać jakąś prostą implementację GET/POST... Do tej pory używałem REST API sleepymongoose napisanaego w Pythonie - używanie tego jest porażką tak samo jak i reszta napisana w Node.js do komunikacji z MongoDB to jedna wielka tragedia. Do apliakcji produkcyjnej w ogóle nie da się tego używać. Ze sleepymongoose musiałem robić cuda w JAVIE, żeby wysłać odpowiednie dane JSON. Swoją drogą ciekaw jestem czy Spring ma możliwość podłączenia do MongoDB, będę musiał głebiej o tym poczytać...

Pozostało 580 znaków

2014-10-14 12:17

Spring + Mongo - out of box > http://projects.spring.io/spring-data-mongodb/

Choć osobiście jak już miałbym orać RESTy to bym to machnął w Spray.io (scala).

Pozostało 580 znaków

2014-10-14 12:29
0

Dzięki za odpowiedź :) Osobiście uważam, żeby używać rozwiązań już przygotowanych typu Spring, czy tak jak napisałeś Spray.io - na pewno będzie to bezpieczniejsze, niż napisane to przez początkującego kodera. Druga sprawa, używając JAVy do tego typu celów utrzymujemy konsystencje całego ekosystemu aplikacji - czyli backend napisany przy użyciu JAVy i aplikacja napisana też w JAVie... :) Używając tego samego języka do obu ty celów, łatwiej mi będzie wyszukiwać ewentualne błędy.

Tutaj mnie poprawcie jeżeli się mylę. Osobiście uważam, że języki typu PHP, JS, Python - nie powinny być mieszane z apliakcjami na Androida, nawet jeśli miałyby służyć tylko i wyłącznie do napisania backendu do komunikacji z bazą danych.

edytowany 1x, ostatnio: ktosiu, 2014-10-14 12:29

Pozostało 580 znaków

2014-10-14 12:30
0

Jak masz dostęp do maila w domenie edu to w ramach student packa z githuba dostaniesz 100$ na DigitalOcean - na kilka miesięcy developerskiego VPSa powinno styknąć.

P.S. Nie zgodzę się z ostatnią wypowiedzią. Języki powinno się mieszać i używać najlepszego do rozwiązania konkretnego problemu: java faktycznie jako backend małego projektu może być nienajlepszym wyborem, choć pewnie kombinując z jakimś lekkim containerem czy frameworkiem w stylu Springa czy Play! można osiągnąć satysfakcjonujący rezultat. Zupełnie nie sugerując by użycie php czy node.js było, bo jakoś idea pisania serwera w dynamicznie typowanym języku do mnie nie trafia. Ale już np. połączenie: java na androidzie + backend w golangu wystawiający restowe API - dla mnie bomba.


"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." Robert Heinlein.
edytowany 2x, ostatnio: datdata, 2014-10-14 12:35
właśnie o to chodzi, że lepiej mieć front w js a api w javie - wygląda i działa ładniej . - niezdecydowany 2014-10-14 12:37
Chodziło mi o aplikacje na androida w javie. W przypadku weba - zgoda, że tu front w js. - datdata 2014-10-14 12:39
ciężko takie coś rozważać w androidzie - i tak jednak, oddzielasz warstwę logiki od widoku bo masz xml'e. - BTW, w takim przypadki kiedy aplikacja z androida jest jakby wrapperem na zewnętrzne api - to ta aplikacja[androidowa] jest frontendem. - niezdecydowany 2014-10-14 14:13
O to mi chodziło. - datdata 2014-10-14 14:15

Pozostało 580 znaków

2014-10-14 12:32
0

Dlaczego nie? Czasami pewne rzeczy robi się prościej w JS (node.js) czy pythonie niż w javie. Mieszanie technologii po dwóch stronach "webservicu" to nic niezwykłego. Obecnie pracuję w projekcie gdzie front jest napisany w C#, a backend w javie.

Pozostało 580 znaków

2014-10-14 12:37
0

Teraz pytanie z innej beczki... Przykładowo w mojej styuacji - obecnie jestem na stażu jako młodszy developer aplikacji na Androida - w tej chwili robię dość proste rzeczy przy projektach. Mam dostęp do serwerów VPS i chciałbym lepiej się podszkolić w tym modelu aplikacji... W obecnej chwili skupiłem się w w 100% na JAVie/Android + baza danych w moim przypadku MongoDB. Czy nie narobie sobie mętliku w głowie ucząc się JAVY i przykładowo JS + Node.js lub PHP(w którym kiedyś napisałem pare rzeczy)...

edytowany 1x, ostatnio: ktosiu, 2014-10-14 12:37

Pozostało 580 znaków

2014-10-14 12:49
0

Nie. Choć dużo zależy od tego jaki model nauki preferujesz. Niektórzy potrafią uczyć się kilku technologii na raz, inni radzą sobie z tym znacznie gorzej.

Pozostało 580 znaków

2014-10-14 13:01
0

Nie. Prawdopodobnie będziesz nawet lepszym programistą w Javie. Widząc niektóre fajne, a niektóre niefajne rozwiązania JS czy czegotam sobie chcesz będziesz myślał inaczej o programowaniu i robieniu rzeczy. Np. pisząc trochę we wspomnianym JSie łatwiej będzie Ci później zastosować pattern prototyp czy API util.stream.


"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." Robert Heinlein.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0