Ubierz aplikację internetową w okno systemu Windows.

0

Witam,

Jestem programistą i przez ostatnie 10 lat zajmowałem się głownie projektami webowymi. Zawsze jednak natrafiałem na braki w tej technologi bo jak wszyscy wiecie całość programu wykonywana jest na serwerze. Brakowało mi wielu procedur dostępnych na kliencie itp.

Postanowiłem stworzyć coś na wzór przeglądarki internetowej ale udostępniającej możliwości działania jak program desktopowy ze wszystkimi dobrodziejstwami systemu operacyjnego.

Czy najprościej mówiąc z poziomu np. HTML mamy dostęp do procedur dostępnych w systemach Windows wszystko dzięki programowi (portable) który możemy rozsyłać swoim klientom.

Możemy robić screenshoty, przesyłać pliki, uruchamiać programy.
Wszystko co normalnie jest dostępne dla programistów C++, np przesyłać do serwera zdjęcia z kamery webowej itp.

Możliwości są naprawdę nieograniczone. Cała komunikacja programu z aplikacją odbywa się po protokole http więc nie ma potrzeby zmieniać niczego w już istniejących programach.

Mam nadzieje że zainteresuje was swoim tematem i rozwiązaniem.

Jeśli kogoś zainteresuje temat chętnie podejmę dyskusję.
Całość systemu została stworzona prze zemnie więc jeśli ktoś potrzebuje jakiejś konkretnej funkcji to proszę pisać na pewno da się coś wymyślić.

Opis systemu i jego funkcjonalności a także demo (można również stworzyć program demonstracyjny dla swojej aplikacji webowej) dostępny jest na stronie:
http://www.Apstart.com

1

Mi się zdaję, czy to jest próba wynalezienia kwadratowego koła?
Jeśli jest potrzebna aplikacja www, to tworzy się aplikację www, a jeśli desktopowa, to desktopową. Po co wsadzać aplikację www w program desktopowy?

3

Hm, zapakować Gecko/IE w okienko, dodać kilka interfejsów, opchnąć za kasę... nie taki zły pomysł jak na projekt na weekend. Tylko kto to ci kupi... Dość wąski target, początkujący programiści. Tylko który początkujący programista będzie na tyle zaawansowany, żeby zarobić na swoim projekcie ;).

Przeglądarek typu kiosk też jest kilka open-source.

2

Możesz zabronić zamykania programu

Ja bym od razu taki program wywalił :P

Czyli ten Apstart, czy jak to się pisze, to po prostu zwykła aplikacja ze spakowaną stroną internetową w zasobach, tak?
Po prostu posiada 'funkcje' typu AlwaysOnTop, itd.
Czyli coś, co można w 5 minut napisać z użyciem np.TWebBrowser, tak?

2

czym to się różni od QtWebView poza tym, że to jest oparte na kontrolce IE? No i tym że to jest płatne.
Przy użyciu tego widgetu + scriptengine z odpowiednimi klasami napisałbym coś takiego w góra kilka godzin.

Co prawda działam na Linuksie i Wine, ale niektóre przykłady sypią błędami, a dymki wyświetla z epickim opóźnieniem. Może winne jest Wine i słabe wsparcie dla ie6, którego zainstalowałem kiedyś żeby mi cośtam działało.

Nie byłoby to głupie, gdyby szło w ten sposób kontrolować zdalnie komputer, ale to by trzeba całkiem inaczej zorganizować i byłoby bardzo, albo to na prawdę bardzo narażone na ataki.

Uważam że to dość niebezpieczny projekt. "Strona" daje zbyt duży dostęp do funkcji systemu. Potencjalnie włam na taką aplikację może spowodować niewyobrażalne straty używających klienta. Nie bez powodu JavaScript nie ma dostępu do funkcji systemowych ani do plików (nawet Java w aplecie musi być podpisana i trzeba wyrazić zgodę).

0

Mili Państwo jeśli zapoznali byście się z opisem projektu to pewnie zauważyli byście że sam apstart to nie jest przeglądarka i nie ma konkurować z całą resztą.

Sam program działa jak klient aplikacji webowej. Okno z możliwością przeglądania strony jest tylko dodatkową funkcjonalnością. Jeśli wyłączę możliwość przeglądania stron w programie to będzie dla was bardziej zrozumiałe do czego on służy?

Nie jest oparte na żadnej javie nie wymaga .net, flaha i innych tego typu rzeczy. Wybór padła na Trident ponieważ jak pisałem nie jest to przeglądarka i nie widzę sensu tworzyć nowej żeby konkurować z firefoxem chrome i tym samym zwiększać rozmiaru programu z 2 do 40MB.
Sam exe jest w wersji portable, bez instalacji nic w systemie nie trzeba zmieniać, ustawiać itp.

Wszystko jest odpowiednio zabezpieczane a udostępnione procedury aplikacji webowej nie wychodzą poza kod programu więc programista ma dostęp tylko do funkcji zaimplementowanych w programie nie ma dostępu do samem powłoki windows. Więc nie rozumiem waszych zarzutów.
Podobna dyskusję prowadzę na forum: http://www.coderscity.pl/ftopic40370.html?t=40370
Zachęcam do przeczytania topicu bo jak widać temat jest goroący :)

Apstart można zintegrować z aplikacją na dwa sposoby przez serwer poleceń (sposób automatyczny) lub bezpośrednio przez interakcję z użytkownikiem linkami

Jak widzicie w ten sposób nie wykonasz kodu na systemie klienta ale uruchomisz procedurę w programie klienckim. Zachęcam do zapoznania się z wersją demo umieszczona na stronie.

Sam program ma być dodatkiem do stron www. Nie każdy umie stworzyć albo do stać na aplikację desktopową. Jako przykład przeliczcie sobie ile będzie kosztowało stworzenie systemu wielostanowiskowego CRM w wersji web i desktop. A czemu ta webowa wersja nie może wykręcać numeru tel, wyświetlać powiadomień w try o nieodebranym telefonie i inne które tylko potrafisz sobie wymyślić.

0
Patryk27 napisał(a)

Możesz zabronić zamykania programu

Ja bym od razu taki program wywalił :P?

Wbrew pozorom przydatne. Kioski informacyjne w muzeach/miastach/wtf są uruchamiane zazwyczaj w IE z trybem kiosk-mode. Coś się popsuje i masz dostęp do windowsa - filmików z "psucia" jest masa na wykopach albo youtube.

Mała uwaga do autora - nie wiem jak są odpalane te komunikatu w trayu, ale delay jest wybitny - dochodzi momentami do 4-5 sekund. Pragnąłbym też zauważyć że większość kiosków informacyjnych w naszym kraju nie ma podpiętego internetu tylko bazuje na lokalnych stronach HTML wrzuconych w "Moje dokumenty"...

Pomysł niezbyt trafiony, do tego wszystko pisane w Delphi zapewne metodą wrzucenia WebBrowsera na formatkę i dopisaniu 10 procedur :|

0
http://www.coderscity.pl/ftopic40370.html?t=40370 - użytkownik apstart napisał(a)

Pewnie nawet nie używacie żadnych IDE bo przecież prawdziwy "Mądry" programista nie korzysta z programów dodatkowych jak kompilator czy debuger tylko pisze wszystko w języku maszynowym. Najważniejsze jest sobie utrudniać pracę a Ci od c i asm to ten kompilator dla idiotów wymyślili.

Nigdy się tak nie uśmiałem czytając czyjś post :D
Skoro tak twierdzisz, to według mnie nie rozumiesz programowania.
Czyli według Ciebie genialny programista musi pisać programy w notatniku, najlepiej od razu w kodzie bajtowym i nie może korzystać z IDE, tak?

0
Apstart napisał(a)

Jako przykład przeliczcie sobie ile będzie kosztowało stworzenie systemu wielostanowiskowego CRM w wersji web i desktop.

No, desktop będzie ze 4 razy tańszy, ale za czym to argument?

0

Sama możliwość uruchamiania programów jest potencjalnie niebezpieczna.

A na tym forum:

Bardzo się cieszę że tutaj trafiłem. Podbudowujące jest że takie wzbudziłem emocję.

Po kilku postach wyśmiewających projekt.

Chcesz jeszcze jednego zagrożenia? przestrzeń "apstart:", czy jak to się nazywa. Ktoś w komentarzu w aplikacji obsługiwanej przez apstart da link z takim odnośnikiem i już bardzo prosta droga do ataku.

Poza tym jak ten program działa w try?

No i powtórzę to co inni pisali: aplikacja webowa ma być webowa i odcięta od systemu i przeglądarki użytkownika, a nie furtką. Skoro i tak trzeba osobny program ściągnąć, to lepiej normalną aplikację desktopową zrobić, zamiast IE opakowanego w skrypty.

0

Wiec kilka uwag:
ad1) Żadne delfi czyste c++ z wykorzystaniem mfc.

ad2) Opóźnienia biorą się ponieważ wszystko wysyłane jest do serwera a potem program (co 30-60s) odwołuje się po polecenia które np. wyświetla tooltip. Stad opóźnienia. to jest tylko przykład i nie musi wykonywać się to na bieżąco.

ad3) Nie widzę problemu w trzymaniu www w "Moje dokumenty" tylko cała nawigacja musiała by się odnosić do <a href="c:\.."> i będzie działać

ad4) Sorka Wpis o IDE pochodził z innego wątku. Stąd głupio wyrwane z kontekstu. twierdze właśnie zupełnie odwrotnie.

ad5) Aplikacja webowa będzie 4 razy tańsza argument za tym żeby wybrać rozwiązanie webowe kosztem kilku funkcjonalności programów desktopowych.

ad6) apstart: obsługuje tylko to co jest zaprogramowane nie uruchomisz dowolnego kodu/programu na koncie klienta.

ad7) Try chodzi o proces bez okna tylko z ikonka w obszarze powiadomień. Taka strona web działająca w tle. soft sam co 30-60s będzie odwoływał sie do serwera poleceń po nowe wytyczne do działania

ad8) Dobrze to czemy aplikacja webowa jakim jest Dropbox ma swojego klienta desktopowego ktory wykonuje transfery plików? Czy to nie łamie idei webowości?

0

ad7) Try chodzi o proces bez okna tylko z ikonka w obszarze powiadomień (...)

Nie try tylko tray.

ad8) Dobrze to czemy aplikacja webowa jakim jest Dropbox ma swojego klienta desktopowego ktory wykonuje transfery plików? Czy to nie łamie idei webowości?

Osobno jest klient webowy, a do tego jest ficzer w postaci klienta desktopowego, który de facto nie otwiera sobie embeda IE i nie uploaduje plików na chama przez niego, tylko robi to w bardziej racjonalny sposób. Połączenie dwóch pod-aplikacji które się uzupełniają, nie jedna aplikacja która z poziomu przeglądarki wymaga jakiś dziwnych ficzerów dostępu do komputera klienta.

0

To o czym piszesz to dokładnie ta sama metoda działania tylko opiera się o protokół http a nie np. sockety. oczywiście chodziło o tray mój błąd.

Okno IE jest właśnie jako "ficzer" w mojej aplikacji, więc możesz je sobie całkowicie wywalić i masz po prostu klienta desktopowego którego możesz połączyć ze swoją aplikacją.
Wyświetlanie stron to nie jest nic nadzwyczajnego... Co wy się tak do tego okna IE przyczepiliście?

0

przepraszam nie mogę edytować postów.

przesyłanie plików nie odbywa się przez IE. Jeśli używamy na stronie formularza który wyświetli apstart to tak ale jest możliwość przesyłania z samego programu z pominięciem okna i strony www.
Oczywiście program najpierw się zapyta użytkownika czy chce pozwolić itp., żeby zaraz mnie ktoś nie oskarżył że program kradnie pliki!! Staram sie wszystko zabezpieczać i to nie jest zwykła kontrolka IE zapakowana w okno!!

0

Wszystko to da się zastąpić rozwiązaniami czysto webowymi. Nietrudno znaleźć darmowe skrypty w JS, czy też flash zastępujące notatnika, painta, czy też odtwarzacz multimedialny. A nawet jak się nie znajdzie, to nawet programiście PHP napisanie apletu w Javie przy użyciu gotowych przykładów nie powinna sprawić wielu trudności. Jest tyle przykładów w necie że da się zrobić nawet metodą kopiego-pasta.

Poza tym nawet jeśli można mówić o użyteczności, to nie o wygodzie. Osobne okno zdecydowanie nie jest wygodne. To jak napisać dodatek do firefoxa i na stronie dać komunikat: "Aby strona poprawnie działała, użyj Firefoxa z dodatkiem [...]", choć to byłoby znacznie lepsze rozwiązanie, bo spora część użytkowników używa firefoxa, a dodatek można zainstalować z poziomu samej strony. Miałoby to też taką zaletę, że działało by nie tylko na windowsie.

No i sama estetyczna strona: jedna otwarta przeglądarka wygodniejsza od 8. To trochę jak powrót do IE6, gdzie jedne okno = jedna strona.

Tworząc taką aplikację "webową" z wymogiem użycia takiej "przeglądarki" autor automatycznie pozbawia się wizyt z systemów innych niż windows.

0

A ja bym rzekł: uwstecznienie.
Jest nadmiar danych na łączu. Jest zbędna ilość roboty. Jest potencjalnie niebezpieczne.
Gdybyś reklamował na śmiećforach dla pseudohakerków czy innych dziwadełek to może byś zebrał oklask.

3
Apstart napisał(a)

Jestem programistą i przez ostatnie 10 lat zajmowałem się głownie projektami webowymi.

linker w debug info napisał(a)

C:\Kopia WiseBrowser-DEMO\Release\WiseBrowser - Demo.pdb

No to po dziesięciu latach kariery możesz sobie pogratulować i z dumą wpisać do CV:

Znajomość systemów kontroli wersji:

  • Eksplorator Windows
0
Apstart napisał(a)

ad5) Aplikacja webowa będzie 4 razy tańsza argument za tym żeby wybrać rozwiązanie webowe kosztem kilku funkcjonalności programów desktopowych.

Stworzenie funkcjonalnego, interaktywnego, wygodnego i kompatybilnego z przeglądarkami GUI webowego jest dużo trudniejsze niż osiągnięcie podobnego efektu w aplikacji desktopowej. Po drugie, w aplikacji desktopowej mamy dostęp do pamięci i plików, a nie tylko do bezstanowego protokołu HTTP i emulacji stanu programu przy pomocy jakichś ciasteczek czy sesji. Programowanie desktopowe jest łatwiejsze i szybsze niż webowe, a więc i tańsze.

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