Jaka technologia dla aplikacji desktopowej?

0

Potrzebuję technologii do wykonania programu do druków, który będzie dostępny dla dużej liczby userów (>1mln), dlatego ważne jest żeby:

  1. nie był za wielki (max 7MB ze wszystkim),
  2. nie wymuszał ściągania i instalacji jakiejś maszyny (.NET, Java i Air odpadają w tym momencie, bo z tego co się dowiedziałem to:
  • .NET jest tylko w Vista, w XP musi być dociągany a to czasem 200MB
  • JAVA nie jest od XP instalowana i zawsze musi być ścigana jak user nie ma
    -AIR na razie mało jest popularny więc musi być ściągany (15MB))
  1. żeby miał dobry edytor do formularzy
  2. żeby był dostępny na różne platformy (ale głównie windows)
  3. żeby w miarę szybko można było w tym pisać

co byście poradzili?

Kiedyś robiłem w Delphi - nadawałoby się, ale czy to nie jest cofanie się w rozwoju?

C++ nie znam, nie wiem też co z edycją formularzy, czy w Visual Studio można sobie kontrolki ustawiać etc? (uwaga - zwykły C++, a nie .NET)

może Flash + swf2exe?

Z góry dzięki za Wasze przemyślenia

0

jeśli chodzi o .NET framework to 2.0 jest bodajże razem z SP3. A poza tym jeśli user ma zaktualizowany system to na pewno będzie miał .NET frameworka. Inaczej ma się sprawa jeśli chodzi o linuksa, ale tam chyba jest coś takiego jak mono co umożliwia uruchamianie aplikacji .NET

0

Jeżeli potrzebujesz różnych platform to praktycznie z góry wykluczasz C#/.NET oraz Delphi. Teoretycznie jest Mono oraz Kylix, ale niekoniecznie będzie to działać tak jak powinno.

Pytanie drugie: czy potrzebujesz mieć jeden program na wszystkie platformy, czy też dozwolona będzie rekompilacja aplikacji? Jeżeli nie chcesz kompilować oddzielnie dla różnych platform to masz wybór ograniczony do Javy.

Jeżeli chcesz mieć wieloplatformowy program kompilowany oddzielnie na każdą platformę - to aby uczynić go maksymalnie łatwym w tworzeniu istnieją przenośne między systemami biblioteki ułatwiające tworzenie formularzy - np. Qt czy wxWidgets. Gdzie Qt ma ograniczenia licencyjne zdaje się i nie mam pojęcia czy istnieją jakieś narzędzia graficzne do projektowania interfejsu w tychże.

W Visual C++ "zwykłym" (nie .NET) można mieć graficzne projektowanie interfejsu - jeżeli pisze się z użyciem MFC, ale nie jest to dostępne w darmowej wersji Express o ile wiem.

0

Gdzie Qt ma ograniczenia licencyjne zdaje się i nie mam pojęcia czy istnieją jakieś narzędzia graficzne do projektowania interfejsu w tychże.

Qt od niedawna jest też na licencji LGPL i istnieją takie narzędzia.

0

Dzięki za odpowiedzi

  1. Może być kompilacja na różne platformy - nie ma problemu, poza tym nie jest to tak naprawdę wymóg.

Z tego co widzę w ranking.pl to 99% w Polsce sys.op. to Windowsy

  1. Jeśli chodzi o .NET - z tego co wiem, na XP trzeba instalować .NET i wymaga to ok. 150MB do pobrania. Czy może jednak jakaś wersja .NET jest zawsze dostępna na XP?

  2. Chyba więc pozostaje mi Visual Studio C++ z MFC, ewentualnie z Qt/wxWidgets

0

Jeżeli chcesz mieć naprawdę lekki program pod Windows, który uruchamia się zawsze bez problemu na każdej maszynie beż żadnych ekstra bibliotek i komponentów, to proponuję c++ z API Windows. Oczywiście czym bardziej "prymitywne" podejście do zagadnienia "API Windows" tym lepiej, czyli zaczynamy od WinMain...

Oczywiście API Windows można obudować (MFC, WTL) - w sposób "bardziej prymitywny" obudowuje WTL (nie potrzebuje dodatkowych bibliotek).
Jednak każde "obudowanie" pociąga za sobą dodatkowe koszty wydajnościowe i związane z wielkością pliku.

0

:-|
A tak właściwie to taki program powinno się zrobić w technologii webowej - wydruk do pdf.
Odpadają oczywiście wprost problemy z pobieraniem programu, instalacją, wielkością pliku, różnorodnością platform, aktualizacją wersji...

0

też bym tak wolał (technologia webowa), ale niestety - przyzwyczajenie i kwestia obaw użytkowników o prywatność jest tu dużą przeszkodą. No i oczywiście ciągle jeszcze dostęp do Internetu (chociaż to się będzie zmieniać)

Dlatego myślałem o Flash + jakieś rozwiązanie swf2exe... w przyszłości można łatwo to zaadoptować do właśnie zapisu i obsługi druków w przeglądarce, ale ten ActionScript taki nieładny :)

zobaczę sobie to WTL

0

Z jednej strony chcesz szybko pisac, wiec potrzebujesz klas/komponentow/funkcji a z drugiej nie chcesz oczekiwac od uzytkownika, by pobral biblioteki, ktore takowe zawieraja i twoj program wykorzystuje... Zdecyduj sie...

Jak dla mnie Java jest oczywistym wyborem, jak chcesz miec przenosny program; a jak tylko Windows to .NET. Co z tego, ze do swiezego systemu trzeba dociagac. Kto tego nie robi? (A jak sie jakis znajdzie, to jest przeciez dostepne bezplatnie).

0

Zgadzam sie ze Szczawikiem - pogodz sie z koniecznoscia pobrania, to nie az tak duzo. A dodajac cos od siebie - zapomnij o Flashu, nie nadaje sie do tego.

0

Zgadzam się z przedmówcami.

Ale jeżeli chcesz się kurczowo trzymać wymagań, które tutaj przedstawiłeś, możesz spróbować Pythona.

Pójdzie w zasadzie na każdej dystrybucji linuxowej, a przy pomocy py2exe powinno* się dać przekształcić skrypt do konwencjonalnego, windowsowego execa i użytkownik nie będzie musiał nic ściągać.

Z edytorów do wyklikiwania interfejsów można wspomnieć Glade (jeśli wybierzesz pyGTK) lub BoaConstructor (chyba do wxWidgets).

A w Pythonie pisze się raczej szybko, kod jest zwięzły ...

*(warto sprawdzić na samym początku pisania aplikacji, bo głowy za py2exe nie dam)

0

W Pythonie na pewno można przygotować plik .exe, bo takie Gammu jest pisane w wxPyton i jest w postaci pliku wykonywalnego. Tyle, że tam chyba prawie cały python jest zawarty razem z programem - pliki .pyd + dll-ki pythona. Do tego jeszcze dll-ki wxWidgets - w sumie okolo 25 MB, ale i tak narzut mniejszy niz w .net i wszystko w jednym katalogu bez instalacji

0

Wybór jest prosty...

Java wymaga pobrania mnie niż 20 MB.
Jakieś 80% użytkowników już ją posiada.
Działa na wielu platformach (jeżeli nie zrobisz czegoś strasznie głupiego) i możesz do swojego programu dołączyć instalator offline Javy (najlepiej na wszystkie systemy).

0

ja bym postawil na jave, ewentualnie qt/wxwidgets jezeli potrzebowal bym uzycia bibliotek ktore dostepne sa jedynie w c/c++

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