Skocz do zawartości

Witaj!

Zaloguj lub Zarejestruj się aby uzyskać pełny dostęp do forum.

Zdjęcie
- - - - -

multiplatformowa aplikacja bazodanowa - w czym pisać?


  • Zaloguj się, aby dodać odpowiedź
12 odpowiedzi w tym temacie

#1 Roberto

Roberto
  • 13 752 postów
  • SkądWrocław

Napisano 24 lipca 2010 - 11:19

Witam Mam pewien dylemat - muszę napisać aplikację w sumie bazodanową - ma ona służyć jako 'pomocnik' do tworzenia planu zajęć czyli przy pomocy drag&drop przeciąganie kursów na konkretne terminy, pilnując przy tym czy dana sala (kilka do wyboru) jest wolna w tym terminie, czy prowadzący (też do wyboru) jest wolny, sprawdzająca czy każda grupa na wszystkie wymagane kursy, czy trwają ile trzeba, etc. etc. ogólnie - mnóstwo różnych zależności mniej lub bardziej oczywistych. w związku z tym do zapisywania tych wszystkich danych postanowiłem użyć SQLite, który się tutaj IMO pięknie sprawdzi i powinien uprościć wiele rzeczy, chyba, że ktoś ma jakiś lepszy pomysł? robienie własnych struktur, które mają łączyć ze sobą wszystkie zależności i dać się w prosty sposób przeglądać tutaj to raczej kopanie się z koniem, chociaż nie wiem. SQLite wydaje mi się tutaj dobrym wyjściem Z założenia aplikacja ma działać pod Windowsem (chyba XP), jednak mi bardzo na rękę byłoby gdyby można było ją uruchomić bez większych problemów także pod OS X i najlepiej także i pisać pod OS X'em. W grę więc na pewno wchodzi Java (której nie chcę), Qt (nad którym się głównie zastanawiam), Adobe AIR (chociaż nie wiem czy się do tego sprawdzi) i... coś jeszcze? Głównie chodzi o jakieś wsparcie dla SQLite i łatwe uzyskanie trochę bardziej skomplikowanego drag&drop Najbardziej skłaniam się w stronę Qt - wydaje się odpowiednie. Zna ktoś jednak jakiś kurs wprowadzający w absolutne podstawy Qt? Przybliżający jego logikę, etc? Albo może ktoś ma inne propozycje? rozważałem też napisanie całego mózgu aplikacji w C++ po prostu, bez GUI, pod OS X'em, a potem podłączenie go jakoś już w jakiś IDE Windowsowym do okienek, jednak zdaje się, że to raczej nie zda egzaminu (całkiem sporo dodatkowej roboty? a może niekoniecznie?) aha - aplikacja oczywiście nie jest komercyjna. jest to praca inżynierska.

#2 macieks72

macieks72

  • 9 873 postów

Napisano 24 lipca 2010 - 11:45

Nie wiem jakie są założenia i wymagania, ale jeśli dobrze zrozumiałem to ma to być TYLKO pod Windows, tak? A tylko Ty sam byś chciał też pod OSX? Jeśli tak to ja bym ten OSX sobie darował i zrobił to w .NET, a jeśli chodzi o bazę to sqlite jest tu chyba dobrym wyborem, chociaż ja bym to oparł o MS SQL Server (jakiś ten z expresów jeśli nie ma być to client-serwer). + najlepiej jakiś ORM żeby się nie pieprzyć z sqlem i pisać nudne zapytania, a skupić się nad "logiką" (nie cierpię tego słowa) programu. Instalkę później na koniec można ładnie zrobić w komplecie z MS SQL Serwerem. Cały czas zakładam, że to ma być wg zlecenia na Windows tylko. Druga sprawa, zastanów się na tym QT i ogólnie na technologiami których nie znasz, ja bym się raczej nie pakował w coś czego nie znam, bo wiem z doświadczenia że możesz na pewnym etapie trafić w moment że będziesz więcej siedział w dokumentacji technologii niż nad kodem programu, co prawda nie wiem jaki ten program ma być duży i czy to na jakieś płatne zlecenie. Ale zakładając, że nie jest taki malutki (no powiedzmy miesiąc, dwa, lub więcej roboty) i że to zlecenie płatne to na 100% wybrał bym technologię, którą znam dobrze. EDIT: A i rozumiem że aplikacja webowa odpada? Ma być wszystko lokalna aplikacja tylko? Nie żaden klient-serwer? Bo mam taki inny pomysł (ale to by było w sumie client-serwer), webservices (soap, wsdl) na serwerze + "cienki" klient z GUI pod różne systemu.

#3 Roberto

Roberto
  • 13 752 postów
  • SkądWrocław

Napisano 24 lipca 2010 - 12:00

Założeniem jest działanie na pewno pod Windows pod inne może, ale nie musi. ogólnie mam pewną swobodę. celem projektu jest edukacyjny, więc nauczenie się czegoś nowego jak najbardziej wchodzi w grę. A samego .NET'a też tylko liznąłem troszeczkę. Problem w tym, że jeżeli chodzi o aplikacje GUI to trudno powiedzieć, żebym coś dobrze znał. Żadnych większych rzeczy nie musiałem robić (tylko co prostsze programiki do sterowania jakimiś perferiami), a dla siebie to się bawiłem tylko w Cocoa (czego bym się chętnie douczył przy tym projekcie, ale to nie wchodzi w grę) Nie wiem czy instalacje MS SQL nie byłaby tutaj armatą na muchę i trochę IMO utrudnia sprawę - w SQLite podoba mi się właśnie fakt 'normalnego', przenośnego pliku.

#4 macieks72

macieks72

  • 9 873 postów

Napisano 24 lipca 2010 - 12:20

Tak MS SQL może być tu "armatą na muchę", zgadza się, tylko że jeśli byś akurat wybrał .NET (ale chyba jednak tego nie zrobisz jak widzę) to jest to dla mnie nierozłączny komplet i bardzo fajnie się razem używa tych narzędzi. W MS SQL też plik jest przenośny (.mdf), chociaż zgadza się że cały silnik bazy jest dużo większy niż jeden mały .dll dla sqlite. No i byc może też bym wybrał sqlite, to już zależy od programu który bym miał robić, a tego w tym przypadku nie wiem, także trudno powiedzieć co by było lepsze. Chociaż z drugiej strony ja sam już odwykłem od klepania nudnych zapytań sql, a do sqlite nie ma chyba żadnego ORM. No nic, chyba za wiele nie pomogę. Pomyśl nad tymi webservices co pisałem, bardzo pięknie i prosto robi się je w .NET, w innych językach pewnie też, dlatego myślę że zrobienie GUI na "cienkich" klientach było by w miarę proste, nawet jakby zrobić kilka wersji (oddzielnych) pod win, osx itd. No i do nauki też fajna sprawa by to była moim zdaniem (te WebServices, SOAP, WSDL). Tym bardziej jak piszesz że masz swobodę i ma być bardziej do celów edukacyjnych.

#5 Gość_Rzepa_*

Gość_Rzepa_*

Napisano 13 marca 2011 - 17:32

Nie wiem czy nie odgrzewam "zakończonego" tematu :) Ja bym wykorzystał do tego celu Qt ( Qt - A cross-platform application and UI framework ).
Sam tworzę aplikacje desktop-owe i Qt jest po prostu najlepszym wyborem :)
Kompilacja programu na MAC/WIN/LINUX no i piszesz w C++. Na licencji LGPL.

#6 bartg

bartg
  • 259 postów
  • SkądSosnowiec

Napisano 13 marca 2011 - 19:28

Skoro już odświeżyłeś i jakimś cudem natrafiłem na ten temat to od siebie mogę dodać, że JAVA tu też się dobrze sprawdzi. Nie wiem, czemu ją przekreślasz ale do nieskomplikowanych projektów świetnie się nadaje a i piszę się w niej bardzo wygodnie.

#7 Roberto

Roberto
  • 13 752 postów
  • SkądWrocław

Napisano 13 marca 2011 - 22:52

cóż, Javę się lubi albo nie ;) ja nie przepadam, a projekt raczej nie był taki nieskomplikowany. chociaż na pewno dałaby radę.

#8 Gość_Rzepa_*

Gość_Rzepa_*

Napisano 14 marca 2011 - 00:54

Tak z ciekawości, jakie rozwiązanie wybrałeś ?

#9 Roberto

Roberto
  • 13 752 postów
  • SkądWrocław

Napisano 14 marca 2011 - 08:15

Qt. ale nie powiem, żeby to było "dojrzałe" rozwiązanie. choroby wieku dziecięcego IMO jeszcze (przynajmniej wtedy)

#10 piotrpsz

piotrpsz
  • 22 postów
  • SkądPoznań, PL

Napisano 15 marca 2011 - 11:50

cóż, Javę się lubi albo nie ;) ja nie przepadam, ....

Jak kiedyś mówił mój kolega, Java jest dla kobiet :)

#11 metal_man

metal_man
  • 489 postów
  • SkądChorzów

Napisano 15 marca 2011 - 12:36

To ja sie jeszcze wlacze do rozmowy ;) Bo mam dylemat i nie wiem jak sobie poradzic. Otoz pisze program w Obj-C/Cocoa ale normalna, okienkowa aplikacje. Potrzebuje do niej utworzyc prosta baze danych (w stylu Imie, Nazwisko, grafika). Moge wybrac CoreData ale mam juz tyle kodu napisanego, ze z lenistwa nie chce ta droga isc ;) Mozna dolaczyc baze z CoreData do normalnej aplikacji? Tzn. napisac baze z palca i potem ja dolaczyc do projektu? Jesli tak to jak sie pozniej odwolywac? Bo pewnie nie jest to takie proste jak w VisualStudio? Pytam bo ten problem przede mna i nie bawilem sie w takie rzeczy jeszcze...

#12 Roberto

Roberto
  • 13 752 postów
  • SkądWrocław

Napisano 15 marca 2011 - 13:23

oczywiście, że można. wszystko można. przecież to tylko templaty są, które mają ułatwić sprawę.

#13 metal_man

metal_man
  • 489 postów
  • SkądChorzów

Napisano 16 marca 2011 - 16:32

A masz moze gdzies zapisany link do tutoriala? Ja widocznie zostalem na googlach zbanowany... To co znajduje prowadzi tylko do szybkiego stworzenia aplikacji z Core Data.




Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych