Alternatywa dla Delphi?

0

Witam,
Obecnie programuję używając środowiska Delphi XE10, ale zastanawiam się nad zmianą. Chcę zacząć pisać nową aplikację na OS X, Windows i jak się uda Linuxa.. Obecnie nowe Delphi ma możliwość kompilowania na OS X, ale zaczynam się zastanawiać czy przy nowym projekcie nadal brnąć w delphi... Ponieważ mam wrażenie że coraz mniej osób używa, jeżeli chodzi o język też traci na popularności...
Aplikacja ma być bazodanowa z ładnym interfejsem no i tutaj przyzwyczajenie do komponentów TMS, FastReport do tworzenia raportów i wiele innych pierdółek które używam. I tutaj zaczynają się schody, zerkałem na QT niby w miarę można ogarnąć interfejs ale juz generowanie raportów, PDF, możliwość edycji wydruków (raportów), grid w którym wyświetlam dane z TMS wydaje się nie możliwe lub bardzo ciężkie do uzyskania i na pewno nie tak szybko do zrobienia jak w delphi (może się mylę?)..
I tu pojawia się pytanie czy znajdę podobne rozwiązanie w którym też szybko i sprawnie stworzę doskonały interfejs do aplikacji? (wiadomo po opanowaniu nowego środowiska)
Jeszcze jeżeli chodzi o język to zastanawiałem się chwilowo nad Javą, Python bo niby popularna, ale czy jest sens ? QT używa c++ więc też pewnie nie będzie kolorowo..
Dzięki za jakiekolwiek podpowiedzi...

0

Gdyby tobie zaproponowano udział w wyścigach, wybrałbyś popularny samochód czy ten który dobrze znasz i czujesz?

0
gerffi napisał(a):

Witam,
Obecnie programuję używając środowiska Delphi XE10, ale zastanawiam się nad zmianą.

Dlaczego?

Chcę zacząć pisać nową aplikację na OS X, Windows i jak się uda Linuxa.. Obecnie nowe Delphi ma możliwość kompilowania na OS X,

http://www.embarcadero.com/products/rad-studio/mac-osx-development
Rozumiem, że nie znasz swojego narzędzia pracy?

ale zaczynam się zastanawiać czy przy nowym projekcie nadal brnąć w delphi... Ponieważ mam wrażenie że coraz mniej osób używa, jeżeli chodzi o język też traci na popularności...

Jest dokładnie odwrotnie. Zobacz na indeks TIOBE...
http://www.tiobe.com/tiobe_index

Aplikacja ma być bazodanowa z ładnym interfejsem no i tutaj przyzwyczajenie do komponentów TMS, FastReport do tworzenia raportów i wiele innych pierdółek które używam. I tutaj zaczynają się schody, zerkałem na QT niby w miarę można ogarnąć interfejs ale juz generowanie raportów, PDF, możliwość edycji wydruków (raportów), grid w którym wyświetlam dane z TMS wydaje się nie możliwe lub bardzo ciężkie do uzyskania i na pewno nie tak szybko do zrobienia jak w delphi (może się mylę?)..

Chcesz pisać na jedną platformę czy na wszystkie?
Jeśli na jedną - wybierz coś dedykowanego dla niej, po prostu nic nie będzie lepsze.
Jeśli na wszystkie... Ja bym pisał w HTML5/JS/Cordova - np. Smart Mobile Studio jako UI po stronie klienta.
A po stronie serwera - mORMot.
FireUI jest coraz lepsze i pewnie się da, zwłaszcza w XE10. Ale ja nie mam z nim żadnych doświadczeń produkcyjnych, zatem daruję sobie komentarze.

I tu pojawia się pytanie czy znajdę podobne rozwiązanie w którym też szybko i sprawnie stworzę doskonały interfejs do aplikacji? (wiadomo po opanowaniu nowego środowiska)
Jeszcze jeżeli chodzi o język to zastanawiałem się chwilowo nad Javą, Python bo niby popularna, ale czy jest sens ? QT używa c++ więc też pewnie nie będzie kolorowo..
Dzięki za jakiekolwiek podpowiedzi...

Jest kilka takich rozwiązań, np. Xamarin ostatnio przejęty prze Microsoft.

0

Zmienić chcę po to by było później łatwiej znaleźć programistę do rozwoju projektu. Dodatkowo utrzymanie kilku licencji jest dosyć kosztowne jeżeli chcemy mieć ważną subskrypcje + aktualizacje do komponentów.
Chcę Pisać na kilka platform, testowałem pisanie w delphi na OS X i nie działa to najgorzej, faktycznie można stworzyć jeden kod dla windows + OS X ale juz linux odpada.

Jeżeli chodzi o TIOBE to szału nie ma 11 miejsce i Ratings na poziomie 2%...

1

@gerffi

Lazarus ma zasadę 'Write once - Compile everywhere'

0
gerffi napisał(a):

Zmienić chcę po to by było później łatwiej znaleźć programistę do rozwoju projektu. Dodatkowo utrzymanie kilku licencji jest dosyć kosztowne jeżeli chcemy mieć ważną subskrypcje + aktualizacje do komponentów.

Mam podobnie, ale jedno wiem na pewno. Zmiana środowiska nie zmienia tak naprawdę niczego - zwłaszcza, jak w moim przypadku, kiedy mam tonę kodu w Delphi, który jest re-używalny. Fakt, Delphi jest drogie, nawet bardzo drogie. Zrób jak ja - podnieś ceny swoich usług/aplikacji i znajdź klientów, którzy zechcą za to płacić :)
Ja wiem, że to "wujek dobra rada", ale tak to już w biznesie jest...

A znalezienie programisty jest kłopotem i równocześnie nie jest - wszystko zależy, czy w firmie jest ktoś kto potrafi wdrożyć nowego/młodego czy nie. Osobiście wole mieć młodego bez doświadczenia, niż speca z wygórowanymi oczekiwaniami finansowymi, którego muszę ciągle poprawiać bo to co robi "przecież działa". Takiemu nie przetłumaczysz, że jego "cuda" są tak naprawdę psu na budę...

Chcę Pisać na kilka platform, testowałem pisanie w delphi na OS X i nie działa to najgorzej, faktycznie można stworzyć jeden kod dla windows + OS X ale juz linux odpada.

No to jak? W 5 minut przetestowałeś? Przecież wcześniej pisałeś że "się nie da", a teraz już testowałeś?

Ale wracając; nie ma złotego środka, niestety. Dlatego imho, lepiej iść w stronę HTML5/CSS/JS i cała logika na serwerze aplikacyjnym, np. mORMot. Od frontendu opartego o środowisko webowe znajdziesz speców bez problemu, a od backendu - cóż, to nie tylko programowanie sensu stricte, ale znajomość procesów biznesowych przede wszystkim.

Jeżeli chodzi o TIOBE to szału nie ma 11 miejsce i Ratings na poziomie 2%...

Bądź realistą - to jest bardzo dobry wynik; spójrz co jest wyżej i co jest poniżej...

0

Wloochacz dzięki za rady..
Co do OS X na delphi napisałem że nie jest tak źle z działaniem a nie że nie działa ;-) Ale i tak nadal linux odpada..
Bawię się tym QT i coraz bardziej jest w stanie mnie przekonać, niektóre rzeczy lepiej rozwiązane niż w delphi. Np niby pierdoła cofania czynności zrobionej podczas projektowania formy, w delphi nie możliwe a tu się da...

1
gerffi napisał(a):

Witam,
(...) Chcę zacząć pisać nową aplikację na OS X, Windows i jak się uda Linuxa.. (....)

Java.
Lub Java+Android API.

A jak ma byc glownie Android, to jakis front-end typu PhoneGap lub Ionic, a back-end np. NodeJS.

0

NieGooglujMnie ja potrzebuję pisać na windowsa, linuxa i OS X nic nie pisałem o Android ;-) bo na urządzenia mobilne raczej nie będę pisał...

0

@gerffi jak pracujesz aktualnie na xe10 to wstrzymaj się z przesiadką na inne środowiska z uwagi na fakt że przedstawiciele embarcadero na jednej z prezentacji informowali nieoficjalnie że emb ma już kompilator na linuxa i planowane jest jego wprowadzenie w kolejnej odsłonie... priortyetem ma być kompilacja serwisów ems ale jak zerkniesz w źródła firemonkey to odnajdziesz tam mnóstwo ifdef-ów linuxowych. Więc jak nie masz Linuxowego cisnienia to rozwijaj go dalej w xe10 a jak będzie dostępne xe11-xe12 i będzie klient na wersję linuxową to myślę że przeportowanie nie będzie wielkim problemem.

1

Jeśli to jest aplikacja dekstopowa to może być:

  • Lazarus / Free Pascal (najbliższe Delphi, możliwe że słabiej wygląda)
  • C# (plus ew. .NET po stronie serwera) - prawdopodobnie najładniejsze rozwiązanie, działa na 3 wymienionych platformach
  • Java (JavaFX / Swing, wada: łatwo zdekompilować kod, chyba że logikę biznesową postawisz na serwerze do którego mają dostęp tylko wybrańcy)
  • Electron (JavaScript): http://electron.atom.io/
  • C++/Qt: nawet nieźle wygląda, z tym że trzeba używać DLLek (wersja komercyjna jest - szok - jeszcze droższa niż Delphi)

Pythona raczej bym nie rozważał. O ile wiem ten język nie ma dobrego designera/środowiska GUI.
Na mobile C++/Free Pascal będzie się średnio nadawał. Da się, ale może być problem z dostępnością na wszystkich platformach i z wyglądem.

0

za @vpiotr:

Lazarus pod OSX, ja miałem liczne problemy jeżeli chodzi o GUI, często aplikacja się wywracała podczas przesuwania kontrolek. Kolejny problem to fonty w edytorze - po prostu wyglądają tragicznie (coś ala Linux + Java GUI bez konfiguracji tylko gorzej)

C# bajka jeżeli chodzi o szybkie tworzenie kodu - idzie jak z górki, gdyby tylko można było tym Tworzyć pod OSX/Linux :) Mono niestety nie nadaję się - wiele błędów, problemy z pamięcią itd.

Java z nowym scene builderem - bardzo fajnie się tworzy i można zrobić ładnie wyglądające graficznie projekty. Niestety pod OSX wszystko (fonty) jest dość mocno rozmyte. Obawiam się, że użytkownicy tego systemu, przyzwyczajeni do dużej estetyki, często mogliby odrzucić takie aplikacje.

C++/qt w obecnych czasach nie widzę problemu aby linkować dynamicznie - i tak aplikacja będzie lżejsza niż apka w Javie + JRE. Linkowanie dynamicznie umożliwia tworzenie komercyjnych aplikacji QT bez opłat.

Na chwilę obecną moim zdaniem najlepszy wybór to QT, jednak jeśli plan Apple się powiedzie, to może w końcu doczekamy się czegoś bardziej przyjaznego opartego na Swift - wygląda bardzo ciekawie.

0
vpiotr napisał(a):

Jeśli to jest aplikacja dekstopowa to może być:

  • Lazarus / Free Pascal (najbliższe Delphi, możliwe że słabiej wygląda)
  • C# (plus ew. .NET po stronie serwera) - prawdopodobnie najładniejsze rozwiązanie, działa na 3 wymienionych platformach
  • Java (JavaFX / Swing, wada: łatwo zdekompilować kod, chyba że logikę biznesową postawisz na serwerze do którego mają dostęp tylko wybrańcy)
  • Electron (JavaScript): http://electron.atom.io/
  • C++/Qt: nawet nieźle wygląda, z tym że trzeba używać DLLek (wersja komercyjna jest - szok - jeszcze droższa niż Delphi)
    Pythona raczej bym nie rozważał. O ile wiem ten język nie ma dobrego designera/środowiska GUI.
    Na mobile C++/Free Pascal będzie się średnio nadawał. Da się, ale może być problem z dostępnością na wszystkich platformach i z wyglądem.

Nie wiem jak ja patrzyłem ale wydawało mi się że to cena za rok za QT, a tu okazuje się za miesiąc więc faktycznie Delphi taniej wychodzi... Trochę z ceną przesadzili..

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