[ Milan-USA @ 11.11.2013. 14:47 ] @
Zdravo,

Ako ima nekoga dobre volje i sa malo viška vremena, želeo bih da saznam nešto više o potrebama iz programerskog ugla vezano za projekat koji planiramo. Mi nismo u programersjkim vodama, pa nas nije sramota da pitamo :-)

Elem, želimo da napravimo program koji bi pregledao sajtove (crawling :-) ) potrebne podatke čuvao u našu bazu podataka, i onda na zahtev klijenta ili jednog od algoritama te podatke prikazivao ili prvo izračunavao (preko ranije utvrdjenog algoritma) pa prikazivao.

Program za krajnjeg korisnika bi se u stvari sastojao iz dva dela...PC programa i online servisa. Front end bi bio skoro isti u oba dela, s'tim što bi PC program trebao da obaveštava korisnika o odredjenim dešavanjima (takodje odredjeno algoritmom). Naš crawler (ako se tako kaže :-) ) bi po utvrdjenom rasporedu ili na zahtev korisnika/programa obilazio odredjene sajtove i vršio update baze i prikaza. Neki od sajtov bi bila tipa Facebook, Google plus, rezultati pretrage na Google, a neki bi bili i klasični sajtovi.

Generalno program bi radio neku vrstu monitoringa i prikupljene podatke prikazivao ili prvo obradjivao pa prikazivao.

Nadam se da sam dobro objasnio, ako vam treba još neki detalj, samo recite..

E, sad..naše pitanje je...Šta mi treba da tražimo od programera, tj. koje jezike on treba da zna? Koliko je (okvirno) ovo težak projekat? Potrebno (okvirno) vreme za recimo ekipu od 2-3 programera?

I koji način bi bio najbolji za programera da mu predstavimo zahteve projekta/programa? Samo tekstualno, uz pomoć crteža nekih proces..naravno uz live podršku.

Hvala unapred,
Milan

P.S.
Ako ovo čita neko od zainteresovanih programera, neka me slobodno kontaktira. Projekat se radi sa stranim partnerom i namenjen je za svetsko tržište. Partner i ja smo vlasnici čitavog projekta, što bi značilo ako ova priča uspe, našli bi se u vrlo uspešnoj kompaniji. Priča jeste na početku, ali prvi koraci mogu da počnu odmah u sledećim danima.
[ Milan-USA @ 11.11.2013. 15:23 ] @
OK..Nema problema...Mislio sam da ima veze sa PHP. Sve OK
[ Milan-USA @ 11.11.2013. 21:08 ] @
Samo vi premeštajte...Izgleda da ionako neću dobiti odgovor
[ 3okc @ 11.11.2013. 21:54 ] @
Koliko znam, ovo već postoji i zove se https://scraperwiki.com
[ Milan-USA @ 11.11.2013. 22:31 ] @
Ovo što nama treba je dosta obiminje i komplikovanije...nije čisto skidanje podataka.
[ Shadowed @ 12.11.2013. 09:21 ] @
Citat:
Milan-USA:E, sad..naše pitanje je...Šta mi treba da tražimo od programera, tj. koje jezike on treba da zna?

To nije jedinstveno. Tj. razlicite varijante mogu biti resenje.
Izvlacenje podataka moze raditi maltene bilo koji jezik.
Posto imas web sajt, tu su ti mogucnosti .NET, Java, PHP.
Ako ces imati i desktop aplikaciju, nju mozes raditi u .NET-u, Javi, C++u...

E sad, ja generalno preferiram .NET i za ovo ti moze dobro posluziti jer mogu da se rade sve tri stvari u jednoj tehnologiji. Downside je da ti desktop aplikacija verovatno nece raditi na Linux-u.
Kod Jave je slicna stvar s tim da je sa jedne strane prednost to sto ce raditi i na linux-u, s druge strane, napornije je raditi razvoj i... Pa, znas kako je sa stvarima koje "svuda rade". Ovde ne zelim da pokrecem jos jedan rat .NET vs Java. Rekao sam svoj stav, neko iz Java sveta ce ti reci drugacije verovatno :)

Citat:
Milan-USA:Koliko je (okvirno) ovo težak projekat? Potrebno (okvirno) vreme za recimo ekipu od 2-3 programera?

Ovo zavisi od specifikacije. Zavisi od toga koliko su slozeni sajtovi, koliko su dobro struktuirani podaci na njima, koliko toga raznovrsnog treba izvuci.
Zatim, koliko ima sajtova.
Onda i sta treba raditi sa tim podacima koji su izvuceni. Znam, receno je izvlacenje, eventualna obrada i prikaz ali kolicina posla zavisi od detalja toga. I google radi to - crawle-uje sajtove, smesta neke podatke u bazu i posle izvlaci i prikazuje ;)
Od broja sajtova zavisi i arhitektura projekta. Nece se raditi na isti nacin ako je 3-4 i ako je 20-30 i vise.

Citat:
Milan-USA:I koji način bi bio najbolji za programera da mu predstavimo zahteve projekta/programa? Samo tekstualno, uz pomoć crteža nekih proces..naravno uz live podršku.

Pa, u sustini, neki crtez bi dobro dosao za predstavljanje procesa a detalji specifikacije tekstualno. Sto preciznije definises sta ti treba, to ce developer preciznije moci odrediti koliko posla ima. Naravno, sto je projekat veci to je i teze odrediti vreme potrebno da se uradi.
[ AMD guy @ 12.11.2013. 09:44 ] @
Samo da napomenem da ne podrzavaju svi sajtovi taj vid cuvanja podataka, proveri prvo terms of use da li je uopste dozvoljeno crawling njihovog web sajta.
[ jablan @ 12.11.2013. 10:48 ] @
Zašto mislite da vam je neophodna desktop aplikacija? Kažeš da treba da bude vrlo slična veb aplikaciji. Pisanje desktop aplikacije uvodi dosta potencijalnih problema koje se ogledaju u složenosti proizvoda, ceni i vremenu izrade.

Inače, bez detaljne specifikacije niko vam neće dati procenu vremena/cene, barem niko s malo mozga. :)
[ Shadowed @ 12.11.2013. 14:57 ] @
Citat:
jablan: Inače, bez detaljne specifikacije niko vam neće dati procenu vremena/cene, barem niko s malo mozga. :)

Sasvim tacno. Zapravo, ko ti da takvu procenu, taman znas da je bolje da ga obidjes :)
[ Milan-USA @ 12.11.2013. 16:55 ] @
Hvala na informacijama

Citat:
Shadowed: Pa, u sustini, neki crtez bi dobro dosao za predstavljanje procesa a detalji specifikacije tekstualno. Sto preciznije definises sta ti treba, to ce developer preciznije moci odrediti koliko posla ima. Naravno, sto je projekat veci to je i teze odrediti vreme potrebno da se uradi.


Da, tako sam i mislio..Kao osnovac sam išao na informatičku sekciju, pa se ponečeg i sećam. Sad sam zaboravio nazive i značenja svih onih oblika, ali znam da bi programeru tako nešto slično pomoglo da shvati suštinu.

Citat:
Shadowed:Naravno, sto je projekat veci to je i teze odrediti vreme potrebno da se uradi.

Znam, samo opet programer će bar dati realniju sliku nego što mi imamo u glavi. Ja mislim 5 meseci, a programer zna da ne može ispod 9...Na to sam mislio, neku generalnu ocenu...ali znam da sam i dao malo podataka za tako nešto.

Citat:
ShadowedOvo zavisi od specifikacije. Zavisi od toga koliko su slozeni sajtovi, koliko su dobro struktuirani podaci na njima, koliko toga raznovrsnog treba izvuci.
Zatim, koliko ima sajtova.
Onda i sta treba raditi sa tim podacima koji su izvuceni. Znam, receno je izvlacenje, eventualna obrada i prikaz ali kolicina posla zavisi od detalja toga. I google radi to - crawle-uje sajtove, smesta neke podatke u bazu i posle izvlaci i prikazuje
Od broja sajtova zavisi i arhitektura projekta. Nece se raditi na isti nacin ako je 3-4 i ako je 20-30 i vise.

E zbog ovoga mi treba programer...da zajednički svedemo ceo projekat..da ga sagledamo u celini iz oba ugla...Mog ugla, koji znam šta hoću i programerovog koji zna šta je moguće i koliko je to teško/treba vremena/samim tim i novca

Citat:
ShadowedTo nije jedinstveno. Tj. razlicite varijante mogu biti resenje.
Izvlacenje podataka moze raditi maltene bilo koji jezik.
Posto imas web sajt, tu su ti mogucnosti .NET, Java, PHP.
Ako ces imati i desktop aplikaciju, nju mozes raditi u .NET-u, Javi, C++u...

E sad, ja generalno preferiram .NET i za ovo ti moze dobro posluziti jer mogu da se rade sve tri stvari u jednoj tehnologiji. Downside je da ti desktop aplikacija verovatno nece raditi na Linux-u.
Kod Jave je slicna stvar s tim da je sa jedne strane prednost to sto ce raditi i na linux-u, s druge strane, napornije je raditi razvoj i... Pa, znas kako je sa stvarima koje "svuda rade". Ovde ne zelim da pokrecem jos jedan rat .NET vs Java. Rekao sam svoj stav, neko iz Java sveta ce ti reci drugacije verovatno


Ako vama nije lako, pomisli kako je tek nama...

Citat:
AMD guy: Samo da napomenem da ne podrzavaju svi sajtovi taj vid cuvanja podataka, proveri prvo terms of use da li je uopste dozvoljeno crawling njihovog web sajta.

Iskreno, na ovo nisam ni pomišljao. Hvala na ukazu. Ali, programi sličnog tipa postoje u svetu. I rade već godinama, tako da verujem da rešenja ima...tj., pitanje je da li i treba neko rešenje, jer mi generalno nećemo čuvati njihove sadržaje...već recimo videti da li je nešto tamo i tu informaciju sačuvati u našoj bazi; ili da li se i kada nešto promenilo, i to bi čuvali u našoj bazi...i sl.
Citat:
jablan: Zašto mislite da vam je neophodna desktop aplikacija? Kažeš da treba da bude vrlo slična veb aplikaciji. Pisanje desktop aplikacije uvodi dosta potencijalnih problema koje se ogledaju u složenosti proizvoda, ceni i vremenu izrade.

PC aplikacija je veoma glavna karika u ovom projektu. Jednostavno user će kroz nju da dobija informacije i šalje zahteve. Pored desktop, online..planiramo i aplikaciju, ali otom potom
Citat:
Sasvim tacno. Zapravo, ko ti da takvu procenu, taman znas da je bolje da ga obidjes

Inače, bez detaljne specifikacije niko vam neće dati procenu vremena/cene, barem niko s malo mozga.


Obe su vam na mestu...zlata vredne
[ Milan-USA @ 12.11.2013. 17:01 ] @
Ovu poruku sam namerno hteo da odvojim, da se ne stopi sa onolikim tekstom.

Možda bi moglo da se kaže da mi tražimo "oca" projekta u programerskom smislu. Tražimo programera koji će sa nama biti od početka, preboleti zajednički sve dečje bolesti, postati šef programerskog tima i "otac" programa..i ako bude malo sreće, sutra stvori ime na osnovu programa, a i para neće da mu manjka :-)

Znam da je teška misija preda mnom...ali kako kaže ona izreka...I put dugačak hiljadu milja, započinje jednim (prvim) korakom :-)
[ jablan @ 12.11.2013. 22:09 ] @
Citat:
Milan-USA:
PC aplikacija je veoma glavna karika u ovom projektu. Jednostavno user će kroz nju da dobija informacije i šalje zahteve. Pored desktop, online..planiramo i aplikaciju, ali otom potom

Nisi mi dao odgovor na pitanje: zašto to treba da bude PC aplikacija a ne može da bude veb aplikacija? Da li ti je potrebna veza sa nekim komadom hardvera (tipa štampač) ili nešto drugo što eksplicitno zahteva da postoji instalirana windows aplikacija na mašini?
[ plus_minus @ 12.11.2013. 22:19 ] @
Možda su pc aplikacije, ipak jače od web aplikacija? Moćnije jedno .. pa, mnogo puta. Konkretno, ova možda ne treba da bude, ali u globalu.. :)
[ Milan-USA @ 12.11.2013. 22:22 ] @
Možda ja grešim...Da bi web aplikacija davala informacije useru, on mora biti online...mora imati otvoren browser i možda otvoren i taj sajt? Ja to laički...Grešim li?

Kada kažem davala informacije, mislim na nešto tipa info balloons..
[ plus_minus @ 12.11.2013. 22:26 ] @
Drop-box fazon vama treba, jel' da? Ali ne da radi to što radi Dropbox, već nešto ... levo. Nešto tipa "What's on your mind?", pa još komplikovanije.
[ Perlicaboss @ 12.11.2013. 22:36 ] @
Sto se tice samog projekta je ok, ali desktop app mislim da je to greska. Ako zelim da vidim nova obavestenja (sajtove koje sam ja izabrao) onda cu da udjem na vas sajt i da prelistam. Zamisli dok radis nesto na racunaru npr gledas film,igras igrice, itd on ti izbacuje za svaku novu stvar po jedno obavestenje i odvlaci ti paznju tad vec postaje spam i nije vise koristan... Za pocetak samo site i ako zazivi napravite anketu da li bi ljudi koristi desktop aplikaciju ili ne... To je samo moje misljenje ... Sve najbolje ;)
[ Milan-USA @ 12.11.2013. 22:51 ] @
Citat:
plus_minus: Drop-box fazon vama treba, jel' da? Ali ne da radi to što radi Dropbox, već nešto ... levo. Nešto tipa "What's on your mind?", pa još komplikovanije.


Ne...Alat koji će nadgledati odredjene sajtove i obaveštavati korisnika. (+ još dosta toga )

Citat:
Perlicaboss: Sto se tice samog projekta je ok, ali desktop app mislim da je to greska. Ako zelim da vidim nova obavestenja (sajtove koje sam ja izabrao) onda cu da udjem na vas sajt i da prelistam. Zamisli dok radis nesto na racunaru npr gledas film,igras igrice, itd on ti izbacuje za svaku novu stvar po jedno obavestenje i odvlaci ti paznju tad vec postaje spam i nije vise koristan... Za pocetak samo site i ako zazivi napravite anketu da li bi ljudi koristi desktop aplikaciju ili ne... To je samo moje misljenje ... Sve najbolje


A ako je to o čemu te obaveštava veoma važno po tvoj posao? Jedino ako nema ništa važnije od igrica ;-)

Pri tom u podešavanjima ćeš moći da selektuješ za šta hoćeš da te obaveštava, itd...Rekoh, nije jednostavan program..ali po meni nije ni komplikovan. Ali ja nisam programer..
[ Perlicaboss @ 12.11.2013. 23:17 ] @
Pa ako mislis da i nesto zaradite od projekta, glavna ciljana grupa i najveca vam nece biti ljudi iz poslovnog sveta vec tinejdzeri koji najvise vise po facebook-u,youtube-u,twitter-u,tumblr itd,... Ne znam sta toliko moze da bude vazno za bilo koji posao (a da se radi o popularnijim sajtovima) da bih imao obavestenja u realnom vremenu...
[ plus_minus @ 12.11.2013. 23:18 ] @
Citat:
Milan-USA: Možda ja grešim...Da bi web aplikacija davala informacije useru, on mora biti online...mora imati otvoren browser i možda otvoren i taj sajt? Ja to laički...Grešim li?


Grešiš. Antivirus programi, svi do jednog, daju informacije useru preko weba, uz pomoć weba, user mora biti online da bi dobio određene informacije, ali, ne mora imati otvoren browser, niti bilo koji sajt. Ima 'svoje sve'. Konkretan primer - antivirus definitions update.

A Dropbox je inače aplikacija koja je poprilično kompleksna i širok pojam je ono "već nešto ...levo".
I instalira se i za offline upotrebu, takoreći valjda je obavezno, dropbox pc desktop deo, dakle, Dropbox aplikacija koja je u jako bliskoj vezi sa Dropbox web servisom/serverom/serverima.

Pošto inače nisi programer, ti onda nekome ko jeste, treba da napišeš teksta, poprilično. Ceo projekat u malom, sažet .. na 5 - 6 stranica, A4, npr. Neka bude i na engleskom, ali da ga bude toliko da treba vremena da se pročita. Jer, neće samo jedan da se hvata takvih stvari, ukoliko je projekat daleko od "labav". Vrača pogađača ovde nema. A nema ni tajni. Ne bi trebalo ni da ih ima.
[ dusans @ 12.11.2013. 23:26 ] @
Ne razumemem kakvih dodirnih tačaka ima Dropbox sa ovime što čoveku treba i
kako je to što njemu treba u fazonu Dropbox-a?
Zato što je klijent-server arhitektura, ima notifikacije, koristi internet i šta ti ja znam???
Pa nešto od toga koristi gotovo svaka aplikacija.
[ plus_minus @ 12.11.2013. 23:28 ] @
Upravo tako. Dropbox je uzet kao primer, ima mnogo takvih aplikacija. Još jedna od njih je - skajp! :D

Koristi se offline, a i online je po potrebi ili non-stop.
To po potrebi ili non-stop, treba stajati u projektu..
I sve ostalo - nedorečeno.
[ dusans @ 12.11.2013. 23:31 ] @
Aha, sada shvatam šta si hteo reći.
Uzeo si Dropbox kao primer i demonstarciju za neka moguća rešenja.
[ plus_minus @ 12.11.2013. 23:33 ] @
Dabome, "levo" može biti i gore. Jer je pod navodnicima.. nema veze sad.
Autor teme je pretpostavljam postao rečitiji, određeniji, hoće još malo bolje da opiše...
[ Milan-USA @ 12.11.2013. 23:40 ] @
Citat:
plus_minus: Grešiš. Antivirus programi, svi do jednog, daju informacije useru preko weba, uz pomoć weba, user mora biti online da bi dobio određene informacije, ali, ne mora imati otvoren browser, niti bilo koji sajt. Ima 'svoje sve'. Konkretan primer - antivirus definitions update.


Da, u pravu si...ali opet je anti virus instaliran na PC. A to je bilo pitanje..da li baš treba desktop aplikacija. Što znači ako hoću usera da obaveštavam live, a da ne mora da posećuje bilo koji sajt, meni treba desktop program.

Citat:
plus_minusA Dropbox je inače aplikacija koja je poprilično kompleksna i širok pojam je ono "već nešto ...levo".
I instalira se i za offline upotrebu, takoreći valjda je obavezno, dropbox pc desktop deo, dakle, Dropbox aplikacija koja je u jako bliskoj vezi sa Dropbox web servisom/serverom/serverima.

Koristim Dropbox redovno

Citat:
plus_minusPošto inače nisi programer, ti onda nekome ko jeste, treba da napišeš teksta, poprilično. Ceo projekat u malom, sažet .. na 5 - 6 stranica, A4, npr. Neka bude i na engleskom, ali da ga bude toliko da treba vremena da se pročita. Jer, neće samo jedan da se hvata takvih stvari, ukoliko je projekat daleko od "labav". Vrača pogađača ovde nema. A nema ni tajni. Ne bi trebalo ni da ih ima.


Da, znam..Radim na tome već poodavno...preko 30 strana već sa nekim skicama i sl. Pošto mi nismo programeri, zato mi i treba senior programer...koji će sve fino da podesi, postavi..i vodi "bandu klinaca programera"
[ plus_minus @ 12.11.2013. 23:47 ] @
So far, so good than. :)
Ne treba tebi onda banda klinaca, ako hoćeš kvalitet. Mislim.. može.. za web front-end deo, itd. Za ozbiljnije stvari tebi treba banda "čiki" u poodmaklim godinama.
[ Milan-USA @ 12.11.2013. 23:48 ] @
[ jablan @ 13.11.2013. 09:04 ] @
Citat:
Milan-USA:
Da, u pravu si...ali opet je anti virus instaliran na PC. A to je bilo pitanje..da li baš treba desktop aplikacija. Što znači ako hoću usera da obaveštavam live, a da ne mora da posećuje bilo koji sajt, meni treba desktop program.

Veb aplikacije su danas prilično moćne, i mogu da dižu "balončiće" itd. Pogledaj npr https://chrome.google.com/webs...pldijonoekcdfdlhemhejm/related

A pretpostavljam da bi i tvom desktop programu bila potrebna aktivna net konekcija da bi primao podatke?
[ Shadowed @ 13.11.2013. 09:22 ] @
Pa i Chrome mu dodje desktop aplikacija :)
Mislim, ono.. Daleko od toga da chrome ima 99% zastupljenost. A ako ti je requirement Chrome, onda ti je to gori requirement od sopstvene desktop aplikacije, jer ce korisnik pre instalirati tvoju aplikaciju nego menjati browser.
[ Milan-USA @ 13.11.2013. 09:25 ] @
Citat:
jablan:
Veb aplikacije su danas prilično moćne, i mogu da dižu "balončiće" itd. Pogledaj npr https://chrome.google.com/webs...pldijonoekcdfdlhemhejm/related

A pretpostavljam da bi i tvom desktop programu bila potrebna aktivna net konekcija da bi primao podatke?



Da, verujem...Ali po našoj zamisli user bi morao da ima nešto od podataka i na svom hard disku, zbog daljnjeg pregledanja, analize, štampanja izveštaja itd. Web aplikacija to ne bi pokrila, zar ne?

[Ovu poruku je menjao Milan-USA dana 13.11.2013. u 10:39 GMT+1]
[ jablan @ 13.11.2013. 10:34 ] @
Citat:
Shadowed: Pa i Chrome mu dodje desktop aplikacija :)
Mislim, ono.. Daleko od toga da chrome ima 99% zastupljenost. A ako ti je requirement Chrome, onda ti je to gori requirement od sopstvene desktop aplikacije, jer ce korisnik pre instalirati tvoju aplikaciju nego menjati browser.

Mislim da i FF podržava notifikacije. BTW zašto misliš da će korisnik radije instalirati tvoju aplikaciju nego Guglovu? Sa druge strane, dobijaš cross-platform kompatibilnost i mnogo veći deljeni codebase između web i "standalone" web aplikacije.

Citat:
Milan-USA: Da, verujem...Ali po našoj zamisli user bi morao da ima nešto od podataka i na svom hard disku, zbog daljnjeg pregledanja, analize, štampanja izveštaja itd. Web aplikacija to ne bi pokrila, zar ne?

Pa sad, browseri su i tu prilično moćni (a biće sve moćniji):

http://diveintohtml5.info/storage.html

Naravno, nikad nećeš imati mogućnost da poteraš puni SQL server u browseru, ali opet pitanje je i šta tebi tačno treba.
[ Shadowed @ 13.11.2013. 11:01 ] @
Citat:
jablan: Mislim da i FF podržava notifikacije. BTW zašto misliš da će korisnik radije instalirati tvoju aplikaciju nego Guglovu? Sa druge strane, dobijaš cross-platform kompatibilnost i mnogo veći deljeni codebase između web i "standalone" web aplikacije.

Zato sto tako teras ljude da menjaju browser. Nije u pitanju proizvodjac (ok, nekad i jeste, ali to na stranu) vec cinjenica da trazis od korisnika da menja aplikaciju koju koristi i za ceo ostatak interneta.

Koliko znam, FF ne podrzava desktop notifikacije a i da podrzava, tek si pola browser-a pokrio + sto bi API verovatno bio drugaciji. Pa onda IE koji nema podrsku. Naravno, i u IE-u i u FF-u mozes napraviti ekstenziju ali... to bi vec bilo kao praviti aplikaciju :)
Iskreno, deluje mi da je to web-only resenje svrha samom sebi tj. da ga forsiras samo da bi bilo web-only.
[ jablan @ 13.11.2013. 11:25 ] @
Citat:
Shadowed: Zato sto tako teras ljude da menjaju browser.

Ne kontam. Zašto bi korisnik morao da promeni browser ako instalira još jedan? Čak mislim da chrome aplikacije (nisam siguran za FF) omogućavaju da "aplikacija" ima svoju ikonu i prozor, tako da korisnik praktično uopšte ne mora da bude svestan da je u pitanju veb aplikacija.

Citat:
Koliko znam, FF ne podrzava desktop notifikacije a i da podrzava, tek si pola browser-a pokrio + sto bi API verovatno bio drugaciji.

Nije poenta koji si % browsera pokrio (a Chrome i FF imaju definitivno više od 50%), već koji % platformi, a bilo sa Chromeom bilo sa FF-om pokrivaš 100% postojećih platformi, uključujući i mobilne.

Citat:
Iskreno, deluje mi da je to web-only resenje svrha samom sebi tj. da ga forsiras samo da bi bilo web-only.

Objasnio sam već koje su prednosti veb aplikacije nad native Windows aplikacijom i one uopšte nisu trivijalne:
1) Mnogo manje koda, samim tim i
1.1) Kraće vreme izrade
1.2) Manji broj potencijalnih bugova
1.3) Lakše održavanje
2) Nepostojanje problema pushovanja novih verzija i fixeva
3) Veći izbor programera
4) Radi svuda
[ plus_minus @ 13.11.2013. 12:05 ] @
Citat:
jablan:
Veb aplikacije su danas prilično moćne, i mogu da dižu "balončiće" itd.


Prilično moćne, danas.
Mogu da dižu i mnogo više od balončića.
Npr. » http://www.elitesecurity.org/t...Artificial-Nervous-System-Demo

Osim toga, onaj ko bude koristio projekat o kome se diskutuje i eventualno bude platio "članarinu" na ovaj ili onaj način,
onda kad nema pristupa netu, a računar upaljen, aplikacija je i dalje u posedu korisnika, bar takav utisak ostavlja, nije nedostupna.
I nešto će moći onda sa programom da se radi i tada, korisno. Reorganize this list, that list.. bla, bla.
[ Burgos @ 13.11.2013. 15:28 ] @
Citat:
jablan:
Objasnio sam već koje su prednosti veb aplikacije nad native Windows aplikacijom i one uopšte nisu trivijalne:
1) Mnogo manje koda, samim tim i
1.1) Kraće vreme izrade
1.2) Manji broj potencijalnih bugova
1.3) Lakše održavanje
2) Nepostojanje problema pushovanja novih verzija i fixeva
3) Veći izbor programera
4) Radi svuda


Ako napišeš aplikaciju koristeći Qt, rešio si 1 (ne bih rekao da ima nešto previše koda - čak dolazi sa rešenjem za animirane prozore koje možeš CSS-om dovesti do bilo kog oblika) i (delimično - Linux, OSX, Windows) 4.
[ Nymeria @ 13.11.2013. 17:21 ] @
Citat:
jablan: Ne kontam. Zašto bi korisnik morao da promeni browser ako instalira još jedan? Čak mislim da chrome aplikacije (nisam siguran za FF) omogućavaju da "aplikacija" ima svoju ikonu i prozor, tako da korisnik praktično uopšte ne mora da bude svestan da je u pitanju veb aplikacija.

Znaci, tvoja je ideja da picis jos jedan browser paralelno. Dakle, kompletan browser da ti zamenjuje aplikacijicu. Cinilo mi se da je poenta tvoje price da kad korisnik vec ima otvoren browser moze u njemu da drzi otvorenu i tu web aplikaciju. Medjutim, koliko vidim, nije to ideja, tako da je jos manje razloga za tim.
Ti zapravo i pravis klijentsku aplikaciju, samo sto hoces da ima jos i browser oko nje kao virtuelnu masinu.

Citat:
jablan: Nije poenta koji si % browsera pokrio (a Chrome i FF imaju definitivno više od 50%), već koji % platformi, a bilo sa Chromeom bilo sa FF-om pokrivaš 100% postojećih platformi, uključujući i mobilne.

Jeste poenta koji si % korisnika pokrio a ne platformi jer aplikaciju koriste korisnici a ne platforme. Sa FF-om ne pokrivas nista osim ako trazis od korisnika da instalira i tvoju ekstenziju jer nema desktop notifikacije. Sa Chrome-om mozes pokriti platforme jer moze raditi na njima ali je imho overkill traziti jos jedan kompletan browser aktivnim. Pri tome, mogucnosti takve web aplikacije su daleko ispod mogucnosti native aplikacije.


Citat:
jablan: Objasnio sam već koje su prednosti veb aplikacije nad native Windows aplikacijom i one uopšte nisu trivijalne:
1) Mnogo manje koda, samim tim i
1.1) Kraće vreme izrade
1.2) Manji broj potencijalnih bugova
1.3) Lakše održavanje
2) Nepostojanje problema pushovanja novih verzija i fixeva
3) Veći izbor programera
4) Radi svuda


1. otpada jer ti taj klijent moras praviti. Da li ga pravis u C#-u ili u Javi ili u Html+CSS+JS-u ne menja narocito kolicinu koda (a i te razlike ne bih bas stavljao obavezno u korist html+css+js).
Samim tim i 1.1, 1.2 i 1.3
2. Taj problem nemas ni sa desktop aplikacijom
3. Ovo se ne bih slozila ali realno, tesko da cemo to moci da izmerimo. Plus sto nije poenta ni samo u kvantitetu.
4. Ne radi svuda ako racunas i mobilne platforme. Ako ne racunas, i Java radi svuda a .NET skoro svuda.


Realno, ako bi bas hteo da isforsiras web varijantu verovatno bi uspeo da nabudzis neko resenje koje bi hteo-nehteo moralo da ima platform specific kod, koje bi trosilo vise resursa sto bi pogovo bilo bitno za mobilne platforme i koje bi trazilo od vecine korisnika da tera jos jedan browser koji im ne treba i preko svega toga, takva aplikacija bi bila ogranicena u odnosu na native po mogucnostima.


Izbor tehologija treba da bude posledica requirement-a, ne requirement

[Ovu poruku je menjao Nymeria dana 14.11.2013. u 09:38 GMT+1]
[ AMD guy @ 13.11.2013. 17:42 ] @
Citat:
Iskreno, na ovo nisam ni pomišljao. Hvala na ukazu. Ali, programi sličnog tipa postoje u svetu. I rade već godinama, tako da verujem da rešenja ima...tj., pitanje je da li i treba neko rešenje, jer mi generalno nećemo čuvati njihove sadržaje...već recimo videti da li je nešto tamo i tu informaciju sačuvati u našoj bazi; ili da li se i kada nešto promenilo, i to bi čuvali u našoj bazi...i sl.


To sto postoje moze da znaci da imaju dozvolu za to sto rade ili su mozda ilegalni, stvarno ne znam, procitaj ti dobro terms of services da se slucajno ne bi nasao nelagodnoj situaciji. Da te ne bi tuzili ili gasili prevremeno tvoj servis.
[ jablan @ 14.11.2013. 07:58 ] @
Citat:
Nymeria:
Znaci, tvoja je ideja da picis jos jedan browser paralelno.

Može da otvori još jedan paralelno, može da koristi postojeći (ja sam mislio da većina korisnika već koristi ili FF ili Chrome ili Operu ali izgleda sam se prevario, barem sudeći po ovome što čitam na ES, ovde izgleda dominira IE). To korisnika ne bi trebalo da interesuje. Kao što ga ne interesuje ni sledeći deo:

Citat:
Ti zapravo i pravis klijentsku aplikaciju, samo sto hoces da ima jos i browser oko nje kao virtuelnu masinu.

Tako je, to je neki generalni trend. I .NET desktop aplikacija ima oko sebe virtuelnu mašinu, i Java aplikacija ima oko sebe virtuelnu mašinu.

Citat:
Pri tome, mogucnosti takve web aplikacije su daleko ispod mogucnosti native aplikacije.

Tako je, zato sam i pitao da li ima neke zahteve koje veb aplikacija ne bi mogla da zadovolji.


Citat:

1. otpada jer ti taj klijent moras praviti. Da li ga pravis u C#-u ili u Javi ili u Html+CSS+JS-u ne menja narocito kolicinu koda (a i te razlike ne bih bas stavljao obavezno u korist html+css+js).
Samim tim i 1.1, 1.2 i 1.3
2. Taj problem nemas ni sa desktop aplikacijom
3. Ovo se ne bih slozio ali realno, tesko da cemo to moci da izmerimo. Plus sto nije poenta ni samo u kvantitetu.
4. Ne radi svuda ako racunas i mobilne platforme. Ako ne racunas, i Java radi svuda a .NET skoro svuda.

1. Ne znam da li si propustio, ali zahtev je da postoji i "klasična" veb aplikacija. Dobar deo koda "klasične" i "desktop" veb aplikacije mogao bi da bude deljen. Ili misliš suprotno?
2. ? Jel znaš kako se radi update web aplikacije a kako desktop aplikacije?
3. Hoćeš da kažeš da ima podjednak broj programera koji umeju da naprave veb aplikaciju i programera koji umeju da naprave I veb I desktop aplikaciju kako valja? Ja mogu da potpišem da i ako nađe čoveka koji pristane da mu sam uradi i veb i native desktop aplikaciju, barem jedno od ta dva (a sasvim moguće i oba) biće užasno loše odrađeno.
4. Za .NET te neko opasno slagao, a bogami i Java mi je prilično klimava (mada barem teoretski jeste). Ajde onako na blic, koju ti java aplikaciju koristiš svakodnevno a da postoji na svim platformama? Ja nijednu.

Citat:
Izbor tehologija treba da bude posledica requirement-a, ne requirement :)

Tako je, zato sam i insistirao da mi postavljač teme pojasni koji su tačno requirementi za desktop aplikaciju, i koliko vidim dosad se nije pojavio nijedan koji ne bi zadovoljila "deblja" veb aplikacija.
[ Nymeria @ 14.11.2013. 08:44 ] @
Citat:
Može da otvori još jedan paralelno, može da koristi postojeći (ja sam mislio da većina korisnika već koristi ili FF ili Chrome ili Operu ali izgleda sam se prevario, barem sudeći po ovome što čitam na ES, ovde izgleda dominira IE). To korisnika ne bi trebalo da interesuje.

Tako je, to je neki generalni trend. I .NET desktop aplikacija ima oko sebe virtuelnu mašinu, i Java aplikacija ima oko sebe virtuelnu mašinu.

Koliko se secam par puta u poslednje vreme sto sam videla, IE je oko 45%, chrome i ff su negde jednako ali se ne secam koliko, zatim safari nekoliko % a opera sa mozda 1%.

Mislim da su .NET i Java virtuelne masine ipak efikasnije u tome.


Citat:
1. Ne znam da li si propustio, ali zahtev je da postoji i "klasična" veb aplikacija. Dobar deo koda "klasične" i "desktop" veb aplikacije mogao bi da bude deljen. Ili misliš suprotno?
2. ? Jel znaš kako se radi update web aplikacije a kako desktop aplikacije?
3. Hoćeš da kažeš da ima podjednak broj programera koji umeju da naprave veb aplikaciju i programera koji umeju da naprave I veb I desktop aplikaciju kako valja? Ja mogu da potpišem da i ako nađe čoveka koji pristane da mu sam uradi i veb i native desktop aplikaciju, barem jedno od ta dva (a sasvim moguće i oba) biće užasno loše odrađeno.
4. Za .NET te neko opasno slagao, a bogami i Java mi je prilično klimava (mada barem teoretski jeste). Ajde onako na blic, koju ti java aplikaciju koristiš svakodnevno a da postoji na svim platformama? Ja nijednu.

1. Mislim
2. Znam
3. Ne, nego ces za web uzeti web programera, za desktop ces uzeti desktop programera. Zajedno ih ipak ima vise. A i ne mora biti problem da ista osoba dobro zna i web i desktop.
4. Java radi na Windows-u, MacOS-u i Linux-u. Dovoljno. .NET radi na Win platformi (sto moze i ne mora da bude dovoljno) a moze raditi pod Mono-om i na Linux-u. Onako na blic, ne koristim ni jednu Java aplikaciju bilo gde, osim povremeno onih chat apleta koji su mi radili na windowsu i na linuxu.
[ Shadowed @ 14.11.2013. 09:07 ] @
Citat:
Nymeria:3. Ovo se ne bih slozila ali realno, tesko da cemo to moci da izmerimo. Plus sto nije poenta ni samo u kvantitetu.

Pa, generalno, web programera ima na tone. Da udjes u pun gradski autobus verovatno ce neki biti u njemu. E sad, koliko njih valja cemu, to je drugo pitanje :)

Citat:
jablan: 1. Ne znam da li si propustio, ali zahtev je da postoji i "klasična" veb aplikacija. Dobar deo koda "klasične" i "desktop" veb aplikacije mogao bi da bude deljen. Ili misliš suprotno?

Pa, zavisi sta se u kojem delu trazi ali je solidna sansa da bi vrlo malo toga bilo deljeno.

Citat:
jablan: 3. Hoćeš da kažeš da ima podjednak broj programera koji umeju da naprave veb aplikaciju i programera koji umeju da naprave I veb I desktop aplikaciju kako valja? Ja mogu da potpišem da i ako nađe čoveka koji pristane da mu sam uradi i veb i native desktop aplikaciju, barem jedno od ta dva (a sasvim moguće i oba) biće užasno loše odrađeno.


Sto bi morao isti covek to da radi? S druge strane, i mogao bi. Ja bih mogao sasvim dobro da uradim i web i desktop deo, kao i taj crawling koji bi bio zapravo neki servis. A znam i druge ljude koji bi mogli podjednako dobro i bolje.


Citat:
jablan: 4. Za .NET te neko opasno slagao, a bogami i Java mi je prilično klimava (mada barem teoretski jeste). Ajde onako na blic, koju ti java aplikaciju koristiš svakodnevno a da postoji na svim platformama? Ja nijednu.

Pa, .NET ce mu raditi na Windows-u, sto ti je 90+% desktop-a, moze i na Linux-ima uz Mono, doduse, sa tim nemam iskustva. Ne vidim problem za rad Jave na Win/OS X/Linux osim sto verovatno mozes iskopati neke distribucije gde ne radi.
Sve Java aplikacije koje redovno koristim rade na svim major platformama. Ukupno jedna :) Hocu da kazem da Java aplikacije ne koristim redovno jer ih ne volim kao sto ne volim ni da ih pravim. Razlika izmedju Visual Studija i Eclipse-a je nebo-zemlja. Ovde je pominjem kao mogucnost trudeci se da sto manje namecem licni stav iako bih ja to svakako radio u .net-u.
[ Rapaic Rajko @ 14.11.2013. 11:26 ] @
Java radi i u vasim automobilima... ;)

Pozz
[ jablan @ 14.11.2013. 13:24 ] @
[quote]
Citat:
Sto bi morao isti covek to da radi? S druge strane, i mogao bi.

Zbog cene, vremena izrade, kasnijeg održavanja itd.

Citat:
Ja bih mogao sasvim dobro da uradim i web i desktop deo, kao i taj crawling koji bi bio zapravo neki servis. A znam i druge ljude koji bi mogli podjednako dobro i bolje.

Ovo mi je prilično teško da poverujem. Ja imam 10+ godina profesionalnog iskustva u programiranju, radio sam i desktop i veb pa ipak za sebe ne bih mogao da kažem da bi to što bih napravio ispalo kako treba. Mislim, radilo bi, ali to nije kriterijum, ne? :)

Citat:
Pa, .NET ce mu raditi na Windows-u, sto ti je 90+% desktop-a,

Poenta nije samo u trenutnom procentu, već i u trendovima. http://www.netmarketshare.com/...0&qpnp=4&qptimeframe=Y OSX je već prilično relevantna platforma, a to su već odavno i mobilni uređaji.

Citat:
moze i na Linux-ima uz Mono, doduse, sa tim nemam iskustva.

Ukratko, ne može. Mono jeste dobra ideja, ali je portabilnost desktop aplikacija SF (i to naravno ne krivicom Mono tima).

Citat:
Sve Java aplikacije koje redovno koristim rade na svim major platformama. Ukupno jedna :)

To što ih je jedna prilično govori. :) Java je relativno OK, ali opet zahteva posebnog čoveka (ili tim) u odnosu na onog koji će raditi veb.
[ Nedeljko @ 14.11.2013. 17:04 ] @
jablane,

dao si za mene zanimljiv link, ali me zanima koliko smatraš da su ti podaci tačni, pošto se različitim metodama merenja dobijaju različiti rezultati. Želeo bih da čujem mišljenja o tome.

Zanima me i ovo u vezi sa mono-om. Ako zaboravim da postoje MS i VS i radim sve sa mono-om, da li mogu da očekujem da to radi svuda gde postoji mono?
[ jablan @ 14.11.2013. 17:53 ] @
Citat:
dao si za mene zanimljiv link, ali me zanima koliko smatraš da su ti podaci tačni, pošto se različitim metodama merenja dobijaju različiti rezultati. Želeo bih da čujem mišljenja o tome.

Nisam preterano ulazio, vidim da se uzima kao referenca na Vikipediji, a i deluje mi uverljivo, iz mog iskustva.

Citat:
Zanima me i ovo u vezi sa mono-om. Ako zaboravim da postoje MS i VS i radim sve sa mono-om, da li mogu da očekujem da to radi svuda gde postoji mono?

Nemam iskustva iz prve ruke, VM bi trebalo da je kompatibilan, samo je pitanje koji set biblioteka je gde implementiran. Normalno da linux-specifične binding biblioteke neće biti dostupne na Vindousu i obratno.

Ono što se trenutno čini atraktivnije u Mono ekosistemu su implementacije za mobilne uređaje, Xamarin.iOS i Xamarin.Android, koji posredno mogu postati šansa Microsoftu za ulazak na mobilno tržište. (No, ne lezi vraže, oni nisu open source... :))


[Ovu poruku je menjao jablan dana 14.11.2013. u 19:30 GMT+1]
[ Nedeljko @ 14.11.2013. 21:00 ] @
Jablane, ja nemam nikakvog iskustva u .Net svetu. Upućen sam samo konceptualno (znam šta je .Net, šta bajtkod itd).

Valjda uz mono dolaze neke biblioteke i valjda su one prenosive. Naravno, kada koristiš TRT parti biblioteke, onda je to druga stvar, ali koliko su te koje dolaze uz mono moćne, na primer u poređenju sa standardnim C++ frejmvorcima. Dakle, imaš li podršku za niti, upravljanje procesima, komunikaciju između procesa, baze podataka, GUI itd?
[ jablan @ 16.11.2013. 12:10 ] @
Dolaze core biblioteke. http://en.wikipedia.org/wiki/M...ftware)#Framework_architecture

Šta to tačno podrazumeva osim osnovnih stvari (brojevi, stringovi, IO, threadovi) nisam siguran. Windows GUI (WPF) definitivno ne ide uz Mono.
[ Nedeljko @ 16.11.2013. 14:12 ] @
Pa, valjda ide GTK# ili tako nešto, što je za GUI i što je multiplatformsko. Nisam ni pitao da li idu baš MS-ove bibioteke, već neki ekvivalent, ne mora da ima isti API.
[ Marko_L @ 19.11.2013. 10:50 ] @
Koliko sam shvatio, vi raspravljate o tome koju tehnologiju je najbolje koristiti, a još uvek ne postoje ni preliminarne specifikacije projekta :) Potpuno pogrešan pristup. O najboljem načinu za razvoj nečega se može pričati tek kada se kreiraju detaljne specifikacije kompletnog projekta od A do Š, pa onda to neko treba da analizira i pretvori u projektni plan, pa se u sklopu tog plana definišu i tehnologije, standardi i sve ostalo što će se koristiti i za koji deo projekta. Tu ni ne treba programer za sada, već software architect, ali dobro s obzirom da se kod nas svi koji rade nešto na računaru nazivaju programerima, da ne ulazimo sad u detaljisanje :)

Takođe, čini mi se da postavljač teme nije još sam sa sobom razrešio šta hoće i preskače korake, jer se priča o nekim stvarima koje dolaze tek na kraju, a neke najvažnije stvari se ni ne pominju, kao na primer kako i odakle će se finansirati projekat i po kom modelu. Da li planirate da otvorite (ili već imate) firmu, pa želite da uposlite ljude koji će za platu da rade na projektu? Da li tražite partnera koji se bavi IT-em (razvojem softvera) sa kojim želite da uđete u posao gde bi ste vi uložili novac, a on znanje i na kraju delili potencijalni profit? Da li imate kapital za razvoj ili tek trebate da nađete finansijera? To su bitna pitanja koja prvo treba rešiti, pa tek onda ući u neko detaljno planiranje. Naravno, treba računati i na to da će i samo planiranje da košta podosta, možda jednako koliko i sam razvoj ukoliko se radi o kompleksnom projektu.
[ blekmor @ 15.12.2013. 16:32 ] @
Napravite dobar web servis koji radi sav posao, a onda hoćeš li na to kačiti web aplikaciju ili desktop aplikaciju je skroz nebitno.
Kako sam razumio vama treba program koji će da obilazi neke stranice za odredjenog korisnika, sakuplja neke informacije, analizira ih i predstavlja korisniku. Pored toga za svakog korisnika trebate da čuvate i odredjene informacije koje kasnije koristite u svrhu analize i zbog toga forsirate stand alone aplikaciju? To se rješava vrlo jednostavno:
Vežete svakog korisnika sa korisničkim nalogom, i za taj korisnički nalog na svojim serverima čuvate potrebne informacije. Na svojim serverima držite programe koji obilaze potrebne sajtove i analiziraju ih uz pomoć dostupnih informacija, i komunikaciju upakujete u jedan fini web servis. I to je to. Na kraju client side preko web servisa komunicira sa vama i korisniku samo prikazuje već obradjene podatke. Generalno priča sa web crawlerima nije komplikovana, ali može da se iskomplikuje u nekim slučajevima. Svi zastupljeniji prgramski jezici rješavaju to vrlo jednostavno. Lično sam pisao crawlere u Javi, prilično straight-forward posao. Mislim da vam tu veći problem predstavlja šta želite da crawlujete. Pitanje je koliko informacija možete izvući iz npr FB-a preko običnih crawlera. Ipak sajtovi kao FB imaju web servise koji pružaju informacije korisnicima, ali su one limitirane.
Sama realizacija svega toga ne bi trebala da predstavlja problem, nivo detalja i eventualno problemi pri pristupu podacima će ustvari najviše da utiču na cijenu i potreno vrijeme.

Prvo i osnovno je da tačno znate šta vam treba, da tačno isplanirate čitav proces, detaljno uradite pripreme, a sama priča oko programiranja, uz solidan tim, je formalnost.

Pozdrav
[ Milan-USA @ 16.12.2013. 19:11 ] @
Hvala blekmor