Program okienkowy - pytanie o język programowania

0

Cześć.

Na wstępie od razu napiszę, że nie mam wiedzy na temat programowania, ale wiem, że sobie poradzę. Czas mnie nie goni. Chęci mam duże. Logiczne i analityczne myślenie dla mnie to nie problem. Szukać informacje potrafię.
Mam następujący problem do rozwiązania. Potrzebuję stworzyć program w języku Java (taki sobie wymyśliłem i tego języka chciałbym się nauczyć przy okazji).
Program ma realizować następujące zadania:

  • ma być okienkowy
  • ma wyglądać jak Excel, OpenOffice Calc
  • ma mieć możliwość wczytywania danych z pliku np. csv i porównywania ich z aktualną bazą danych oraz z wprowadzaniem modyfikacji na podstawie wyników porównania
  • musi mieć możliwość generowania kodów QR, datamatrix oraz możliwość zmieniania wielkości takich obrazków
  • możliwość wstawiania wygenerowanych kodów i innych obrazków (zdjęć) do komórki tabeli
  • musi mieć możliwość generowania faktur z kodami QR
  • ręczne modyfikacje komórek tabel, formatowanie tabel, czcionki,
  • drukowanie do pdf

Proszę, podpowiedzcie czego powinienem się nauczyć, żeby napisać program okienkowy, który będzie miał w sobie powyższe możliwości. Jakieś JTable, Swing? Czego potrzebuję? Na razie jestem jak czysta kartka papieru - zero wiedzy, dlatego nie chcę marnować czasu na nieskuteczne dla mnie rozwiązania.

0

Python

0

Da się połączyć Python z Java, czy skupić się na samym Pythonie?

0

Osoborok w tym Swingu, skoro jesteś zielony. To ogromny zakres.

Co do @szatkus1 'a propozycji Pythona, zupełnie OK (pytanie uzupełniajace który fw GUI proponuje), ale JA OSOBISCIE byłbym się bał bardzo duży projekt w języku dynamicznym. Na moją zdolność skupienia itd ... do dużych tylko języki sztywnotypowane.
Akurat Swing się ślicznie w to wpisuje, bo nie ma (typowej) luki w sztywnym typowaniu w postaci XML'a

0

Na podstawie naprowadzania ChatGPT faktycznie udało się stworzyć generator kodów QR i datamatrix w Pythonie po wczytaniu danych wejściowych z pliku txt, więc jest to dla mnie jakiś kierunek.
Javę wymyśliłem sobie, ponieważ chciałbym napisać kiedyś aplikację na smartfony z androidem.

0
derby7 napisał(a):

Javę wymyśliłem sobie, ponieważ chciałbym napisać kiedyś aplikację na smartfony z androidem.

Umiejętnosć Swinga nie ma NIC wspólnego z Adroidem, tylko oswojenie z syntaxem języka, a Java jako syntax języka nie jest skomplikowana (ekosystem tak, ogromnie złożony i wielowariantowy)

0

Ja proponuję JavaScript i Electron (apki JS odpalane jako apki desktopowe) i np. React (albo inna podobna biblioteka jak Vue)

Tym sposobem GUI zrobisz sobie w HTML/CSS, więc masz praktycznie nieograniczone możliwości łatwej customizacji wyglądu (a React lub podobna biblioteka pozwoli ci na opakowanie tego w łatwe do użycia komponenty).

ma wyglądać jak Excel, OpenOffice Calc

są biblioteki do tego. Np. https://github.com/TanStack/table
do innych wspomnianych przez ciebie rzeczy też znajdziesz biblioteki w JS.

0
derby7 napisał(a):

Na podstawie naprowadzania ChatGPT faktycznie udało się stworzyć generator kodów QR i datamatrix w Pythonie po wczytaniu danych wejściowych z pliku txt, więc jest to dla mnie jakiś kierunek.
Javę wymyśliłem sobie, ponieważ chciałbym napisać kiedyś aplikację na smartfony z androidem.

Nie wiem czy Java jest obecnie dobrym wyborem pod tworzenie aplikacji w ogóle (pewnie zostanę zhejtowany za takie stwierdzenie :D).
Ogólnie Java mimo, że dalej popularna to staje się powoli przestarzała. Obecna popularność pewnie wynika z faktu, że dużo aplikacji zostało już napisanych i trzeba je utrzymywać.
Z tego co widzę to obecnie tendencje dotyczące tworzenia aplikacji na Androida idą w kierunku Kotlina czy o dziwo Xamarina.
Z iOS nie za bardzo jest z czego wybierać technologie, bo albo objective c albo swift.

0

@derby7:
Johnego to nie słuchaj . wpie się w każdy wątek z poczuciem nieomylnosci

1

Jeśli uczysz się programowania to nie rób wszystkiego na raz, bo to nie wyjdzie to za dobrze albo pochłonie znacznie więcej czasu niż mógłbyś przypuszczać.

Jeśli się uczysz i jesteś na poziomie 0 wtedy odpuść budowanie kompletnej aplikacji, a także odpuść budowanie okien, ponieważ to podnosi trudność pracy i w sumie to rozproszy Twoją uwagę, bo zamiast się skupić na najistotniejszej części program będziesz więcej czasu tracić na marginalne rzeczy.

Zacznij pisać program od środka. Podziel program na zadania i z każdego zadanie zrób skrypt / mini-program gotowy do uruchomienia.

Tak będziesz mógł szybciej się uczyć i weryfikować swoje pomysły, a jeśli z czasem skrypty przetrwają próbę czasu, nadal będą służyć Ci pomocą i jeśli będziesz chciał je udostępnić laikom wtedy faktycznie pomyśl o GUI.

W sytuacji, gdybyś cokolwiek potrafił programować, wtedy polecałbym połączenie excel i VBA, wtedy będziesz miał największą integralność z arkuszem bez niepotrzebnego wysiłku.

Zaoszczędzony czas przeznacz w naukę czegoś bardziej wartościowego niż przerzucane danych z punktu A do punktu B.

0

Wszystko co opisałeś można zrealizować w arkuszu excela, do kodów QR co prawda musisz użyć zewnętrznego api online (lub może wtyczki?)
Zrobienie klona excela:
a) przyniesie marny efekt, osiągniesz tylko namiastkę funkcjonalności, lub
b) zajmie lata / będzie kosztowało miliony jeśli chcesz coś co będzie się używało równie łatwo co excel

Po co klonować excela skoro ma 90% tego co potrzebujesz wbudowane, a pozostałe 10% można uzyskać makrami lub różnymi sztuczkami i wystarczy się tego nauczyć.
Ja bym radził użyć excela i ewentualnie zrobić samą aplikację do generowania tych faktur i zintegrować to z excelem.

derby7 napisał(a):

Javę wymyśliłem sobie, ponieważ chciałbym napisać kiedyś aplikację na smartfony z androidem.

na androida nowe aplikacje się pisze raczej w kotlinie

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