Cześć wszystkim,
firma, w której pracuję planuje przenieść oprogramowanie desktopowe (napisane w Delphi) do weba. Program wykorzystuje również trochę Javy do komunikacji z urządzeniami zewnętrznymi.
Dostałem wolną rękę co do wyboru technologii, w której będę to pisał. Postanowiłem, że za front-end będzie odpowiadał AngularJS.
Pozostaje mi problem co do wyboru technologii back-endowej.
Proszę Was o pomoc w wyborze frameworku.
Dodam tylko, że programuję w PHP od 1,5 roku, lecz nie widzę przeszkody, aby w wolnym czasie uczyć się nowych technologii.
A czemu nie Java w takim razie? Skoro i tak jest użyta w projekcie.
A może powiesz coś więcej o tym oprogramowaniu? Bez tego ciężko będzie coś doradzić.
Proponuje Springa
A teraz czekam na hejty ;]
Postanowiłem, że za front-end będzie odpowiadał AngularJS.
Byle nie jedynka.
Bierz coś nowoczesnego co wybrał Twitter, z Ruby przeskoczył na Scala, Ceylon, Kotlin, Akka, Play.
Co do backendu wybór szeroki od NodeJS, Java (nawet Spring :-)), Scala (akka-http).
W NodeJS tez możesz użyć TypeScript (czyli standard dla Angular2) i będziesz miał jeden język na front i back - całkiem miłe.
Podobnie w Scali (żaden Play - tylko akka-http) ( składnia TS i Scali z daleka wygląda podobnie -(zresztą pod względem konwencji var nazwaZmiennej: TYP - przypomina Pascala). Wada: Scali trzeba się mocno nauczyć przed używaniem - nie da się na rympał i za pomoca StackOverflow daleko zajechać.
Jak Java - to Spring / Spring Boot zdecydowanie da CI chyba najwięcej przykładów kodu, który jest łatwy do ogarnięcia i szybko wystartujesz z frameworkiem. Z drugiej ale większość przykładów użycia jest marnej jakości. Ja w Javie używam Ratpack - ale jak nie jesteś mocny Javie to nie polecam (za mało przykładów w necie -żeby się jednocześnie biblioteki i języka uczyć).
@jarek000000 a który język jest najłatwiejszy na początek, który nie wymaga bardzo dużo nauki aby coś stworzyć ciekawego i własnego?
Jeśli chcesz zostać przy PHP to polecam Symfony, ale wymaga on trochę obycia programistycznego. Niemniej jak wspomniał @tdudzik bez informacji jakiego typu albo do czego służy ta aplikacja strzelamy w ciemno z tymi technologiami.
Szalony Mirek napisał(a):
@jarek000000 a który język jest najłatwiejszy na początek, który nie wymaga bardzo dużo nauki aby coś stworzyć ciekawego i własnego?
Sam sobie wybierz - tu masz przykład jednego prostego programiku zrobionego w 1500 jezykach
http://www.99-bottles-of-beer.net/
A to wolę przejrzeć pierwszą 10 w tiobe niż te 1500. Zobacz tam na kod Javy jaki spam jest, na tej stronie co podałeś o butelkach w postaci kodu ASCII.
Ja ze swojej strony mogę polecić np. JSFa z nakładką primefaces :) wizualnie wygląda zadowalająco, a przykłady primefaces są naprawdę fajnie opisane więc bardzo szybko zrobić jakiś stosunkowo prosty porjekt
co do mięcha, to w przypadku jsfa najlepiej stacka z javy ee (czyli ejb, cdi, jpa )
Absolutnie odradzam JSF - ta technologia to powszechnie znany kanał- od dawna na liście HOLD w technology radarze:
https://www.thoughtworks.com/radar/languages-and-frameworks/jsf
Front : Angular 2 albo React
Backend: Java (Spring Boot), Scala (akka-http), JS (NodeJs), Python (Django lub Flask), PHP (symfony albo laravel), C# (asp.net lub NET Core)
A który z tych duetów do backendu jest najprostszy w końcu i tak każdy będzie robił to samo.
Jeśli ma to być większa produkcja i dłużej wspierana to weź EmberJS, któreś z wydań LTE a po stronie backendu to co znasz. Jeśli chciałbyś spróbować czegoś nowego to poleciłbym Elixira + Phoenix.
Na dzień dzisiejszy elixir i phoenix to genialna propozycja, ale zakładam, że warto jeszcze sugerować się łatwością znalezienia serwera / hostingu. W tych kategoriach najłatwiej o PHP i Pythona.
A ten Elixir jest szybszy od Node JS, ES6 na silniku V8 ?
a jakies opinie Flask vs Django Rest Framework ?