Temat: komunikacja miedzy oknami
Zrobienie programu który by analizował dane, sporządzał raporty, wykresy, rozbił eksporty itp itd
nadal i pewnie jeszcze długo będzie zdecydowanie większym wydatkiem -
niekoniecznie. Jeśli chodzi o wykresy to masz darmowe Google Charts
https://developers.google.com/chart/
Druga opcja to rezygnacja z JavaScript i przejście na Flexa. Czyli ściągasz darmowy Flex SDK ze strony Adobe (bądź pobierasz Flash Builder, ale nie wiem jak z jego ceną). W każdym razie we Flexie jest wszystko - wykresy, samoaktualizujące się tabelki danych, komponenty do definiowania usług internetowych (a więc - de facto łączenia się z internetem, z tym, że jest to o wiele bardziej sprytne).
Pisząc aplikację desktop czy nawet Client-Serwer ciężko zachować paradygmat rozdzielenia
warstwy logiki od warstwy prezentacji. Tworzenie aplikacji działającej w przeglądarce niemal
wymusza taki rozdział.
No tak, ale kazanie serwerowi rysować wykres to właśnie złamanie tego rozdziału...
Dla przykładu wykresy trendów będą dostarczane do przeglądarki jako obrazki
kreowane przez serwer aplikacyjny (to już mam) albo jako tablica gotowych
danych które JS ma tylko odrysować.
Cóż...
Transfer: obrazek ~30kB. tablica gotowych danych w JSON: ~1kB.
Zasoby serwera:
tablica danych - koszt zapytania SQL
tworzenie wykresu po stronie serwera - koszt zapytania SQL + narysowanie obrazka
Dla mnie arytmetyka jest tutaj prosta.
Jako że wszystko w założeniu działa w sieci lokalnej a Ajax zwalnia nas od przeładowywania
całej strony to odświeżanie widoku co sekundę nie stanowi żadnego problemu.
jak działa w sieci lokalnej, to może by zrobić z tego projekt AIR i odpalać w ogóle bez przeglądarki, mając dostęp do lokalnych plików na dysku?
http://www.adobe.com/pl/products/air.html
Poza tym: "Adobe AIR includes a SQL-based relational database engine that runs within the runtime, with data stored locally in database files on the computer on which the AIR application runs (for example, on the computer's hard drive). Because the database runs and data files are stored locally, a database can be used by an AIR application regardless of whether a network connection is available."
I "The LocalConnection class enables communications between AIR applications, as well as among AIR applications and SWF content running in the browser."
Co chyba rozwiązuje ten problem:
Pisze nie stronę a aplikacje działającą w przeglądarce Ciągnę z serwera dość
dużo danych ajaxem i wnerwia mnie trochę że jak z jednego okna otwieram link do
drugiego okna to po pierwsze nie mogę (tzn może nie potrafię) przekazać jakichś parametrów
bezpośrednio, po drugie boli mnie że nowe okno znowu musi "ciągnąć" dane które już na tym
komputerze są.