Pitäisi tehdä töihin pieni ja kevyt graafinen ftp-client sovellus, jossa on oltava seuraavat toiminnot:
- login
- logout
- get/mget
- put/mput
- rename
- delete
- ls
- client koneen hakemiston selaus get/mget toimintoa varten
Eli toiminnot ovat hyvin perinteisiä ja kun kyseessä on kevyt ohjelma, ei sen kummepia toimintoja tarvita. Toki netti on pullollaan valmiita ftp clientejä, mutta niissä on aivan liikaa toimintoja ja asetuksia, joiden kanssa kokematon käyttäjä menee solmuun. Tämän sovelluksen toimintaperiaate on ns. "for dummies", eli helppo ja yksinkertainen. Ideana hyvä, mutta miten valita sitten se GDI ja kieli, jolla tuollaisen voisi/kannattaisi tehdä. Vaihtoehtoja olisivat C , .NET/C# tai Java. Sovelluksen käyttöönotto pitäisi olla helppoa, joten mitään ylimääräisiä frameworkeja yms. ei pitäisi joutua asentamaan pohjalle. Millä tuollainen sovellus kannattaisi koodata?
Sopivin kieli GUI-ohjelmointiin
23
195
Vastaukset
- jaapajaa
Eiköhän tuollainen suju millä vaan. Käsittääkseni .NET on Microsoftin virityksiä, joten jos haluat sovelluksen toimivan Maceissä tai Linuxissa, niin ei varmaankaan kannata tehdä sillä. Itse osaan parhaiten Pythonia ja C :aa, joten tekisin jommalla kummalla.
Yksi vaihtoehto toteutukselle voi myös olla jonkun valmiin avoimen lähdekoodin ohjelman muokkaaminen mieleiseksi. - Osaatko?
Sujuu millä vaan mutta huonoja valintoja on:
C# (dotnet -riippuvuus -> päivityksiä ymv turhaa sälää)
Java ( käytännössä sama syy kuin C#:ssa tekijät vain eri)
Python (mm tulkki -riippuvuus)
Mitä jää jäljelle:
C/C ( ja ohjelmoinnin hitaus, vaarana myös riippuvuudet )
- CBuilder (maksullinen)
- Delphi (Maksullinen, oletko Pascal taitoinen)
- Lazarus(oletko Pascal taitoinen)
Eli valinta on tehdä USB-tikulla toimiva helposti siirrettävä GUI ohjelma
Lazaruksella joka käyttää joko lNet tai INDY-kirjastoa.- 0lio
Delphi 7:aa olen joskus opiskellut käyttämään, eli jos vanha muisti pelaa, niin Pascal saattaa onnistuakin. Siitä on tosin ainakin 10-vuotta aikaa ja julkaistaanko Delphiä enää ylipäänsä?
C/C ohjelmointia voi tehdä tosin NetBeansillakin. Siihen ei taida vakiona sisältyä GUI-kirjastoa, vaan siihen pitää integroida Qt-kirjasto, josta ne formit saa käyttöön.
Olin aivan unohtanut, että voihan ftp:tä käyttää myös selainpohjaisella web-sovelluksella. Ainakin PHP:stä löytyy ftp-funktioita. Tällöin ei ainakaan tarvita sen kummempia rajapintoja, vaan netti ja selain riittävät :) - Delphi on aika uusi
0lio kirjoitti:
Delphi 7:aa olen joskus opiskellut käyttämään, eli jos vanha muisti pelaa, niin Pascal saattaa onnistuakin. Siitä on tosin ainakin 10-vuotta aikaa ja julkaistaanko Delphiä enää ylipäänsä?
C/C ohjelmointia voi tehdä tosin NetBeansillakin. Siihen ei taida vakiona sisältyä GUI-kirjastoa, vaan siihen pitää integroida Qt-kirjasto, josta ne formit saa käyttöön.
Olin aivan unohtanut, että voihan ftp:tä käyttää myös selainpohjaisella web-sovelluksella. Ainakin PHP:stä löytyy ftp-funktioita. Tällöin ei ainakaan tarvita sen kummempia rajapintoja, vaan netti ja selain riittävät :)Tuorein delphi on vain 3 kuukautta vanha!
http://www.moonsoft.fi/products/000479.aspx
- Avoimin mielin
Viisainta olisi tutkia avoimen koodin ohjelmia ja ottaa niistä joku. Sitten arvioit, kelpaako se sellaisenaan vai muokkaatko sitä simppelimmäksi.
Tyhjästä voi olla huono lähteä. - 0lio
Ennenkuin aletaan tehdä yhtään mitään, niin kysytääs hieman sovelluskehityksen kaupallisuudesta. Esimerkiksi Delphi ja .NET/C# ovat kaupallisia kehitysympäristöjä. Jos nyt tekisin tuon ftp client-sovelluksen jollain edellä mainituista, niin miten minun pitää ottaa kehitysympäristön lisenssi ja kaupallisuus huomioon, jos markkinoin tekelettäni eteenpäin?
".NET/C# ovat kaupallisia kehitysympäristöjä."
Mitä h**vettiä sä oikein höriset??? .NET kaupallinen????
Taidat sekoittaa Visual Studioon.
- harvoin huolta
Riippuu tapauskohtaisesti. Mutta oman osuutesi voit lisenssoida niin kuin haluat (tai yritys voi niin tehdä). Jos käytät jonkun muun tekemiä kirjastoja niin joudut noudattamaan heidän lisenssejä. Yleisesti ottaen kehitysympäristön lisenssi ei rajoita niillä tehtyjen sovellusten lisenssejä (olkoon kyseessä kaupallinen tai avoimeen lähdekoodiin perustuva kehitysympäristö). Asia nuuttuu ratkaisevasti sitten kun otat käyttöön muiden tekemiä kirjastoja.
Jotkut oppilaitosversiot ymv ovat eri asia- 0lio
Kiitos tiedosta! Nyt kun tässä olen asiaa pyöritellyt ja hahmotellut, niin olen tullut siihen tulokseen, että alan kehitellä tuota ftp-sovellusta web-ympäristöön. Se kun on minulle noista ketjussa esillä olleista tekniikoista ja ympäristöistä tutuin. Voihan sitä myöhemmin tehdä sitten toisen version jollain GUI-työkalulla, mutta ainakin pääsen hyvin alkuun vaikkapa PHP:llä.
- 10+10
0lio kirjoitti:
Kiitos tiedosta! Nyt kun tässä olen asiaa pyöritellyt ja hahmotellut, niin olen tullut siihen tulokseen, että alan kehitellä tuota ftp-sovellusta web-ympäristöön. Se kun on minulle noista ketjussa esillä olleista tekniikoista ja ympäristöistä tutuin. Voihan sitä myöhemmin tehdä sitten toisen version jollain GUI-työkalulla, mutta ainakin pääsen hyvin alkuun vaikkapa PHP:llä.
PHP on serveripään ohjelmointikieli, ja siellähän homman hoitaa sen ftp-daemon ja sopivat käyttäjätunnukset/oikeudet ftp-hakemistoissa (ja clientihän nyt on haussa).
Mikä vika FireFTP:ssä (FF:n lisäosa), se on simppeli ja tukee myös salattua yhteyttä kuten sftp..
-------------------------------
Missä se palvelin on? Mikäli sinne on vain http-yhteys auki ja tarvii tehdä http-login, niin sitten se koodaus tulisi serveripäähän (vaikka php:llä/perlillä) ja client olisi vain selain (nyt näin ei käsittääkseni ole), muuten en tekisi näin.
---------------------------------
Itse olen tehnyt joskus jonkun simppelin web-clientin perlillä, mutta siinä ei juuri guita ollut. Jonkun tällaisen ihan palikan tekisin, jos ei FireFTP käy, muuten menee aika työlääksi. - 0lio
10+10 kirjoitti:
PHP on serveripään ohjelmointikieli, ja siellähän homman hoitaa sen ftp-daemon ja sopivat käyttäjätunnukset/oikeudet ftp-hakemistoissa (ja clientihän nyt on haussa).
Mikä vika FireFTP:ssä (FF:n lisäosa), se on simppeli ja tukee myös salattua yhteyttä kuten sftp..
-------------------------------
Missä se palvelin on? Mikäli sinne on vain http-yhteys auki ja tarvii tehdä http-login, niin sitten se koodaus tulisi serveripäähän (vaikka php:llä/perlillä) ja client olisi vain selain (nyt näin ei käsittääkseni ole), muuten en tekisi näin.
---------------------------------
Itse olen tehnyt joskus jonkun simppelin web-clientin perlillä, mutta siinä ei juuri guita ollut. Jonkun tällaisen ihan palikan tekisin, jos ei FireFTP käy, muuten menee aika työlääksi.Eli tässä tapauksessa homma menisi näin:
Palvelimella pyörii ftp- sekä http-daemonit. Ftp-käyttäjä kirjautuisi palvelimelle selaimella webbisivulla olevan linkin kautta. Selain toimisi siis clienttina. Se kysyy ftp-tunnukset, jonka jälkeen käyttäjä pääsee kotihakemistoonsa.
Kuten tuossa aloituksessa mainitsin, niin tarkoitus olisi tehdä ftp-client "for dummies", eli mitään ylimääräisi toimintoja käyttöliittymässä ei tarvita, vaan sen pitäisi olla mahdollisimman yksinkertainen käytettävyydeltään. Eli miltei sokeankin pitäisi pystyä käyttämään sitä ;)
- hmh.
Tekisin Qt:n C kehitysympäristöllä.
Helppo tehdä ja saa tarvittaessa helposti siirrettyä muillekkin alustoille, kuin windowsille . . .- 0lio
Qt:stä minulla ei ole pahemmin kokemusta, muuta kuin sen verran, että tiedän sen olevan jonkin asteisesti kotimainen tekele. Mites sen kaupallisuus?
- QT:sta
0lio kirjoitti:
Qt:stä minulla ei ole pahemmin kokemusta, muuta kuin sen verran, että tiedän sen olevan jonkin asteisesti kotimainen tekele. Mites sen kaupallisuus?
QT on eräällä tavalla malliesimerkki siitä miten valittu väärä kieli toteutukseen (jota välttämättä tekijät ymmärrä vieläkään). QT on kirjoitettu C :lla mutta jos he olisivat tehneet sen fiksusti niin se olisi kirjoitettu C:llä.
(Voi olla ettet heti ymmärrä tätä pointtia)
Se ketkä kärsivät tästä ratkaisusta ovat QT:n käyttäjät (asiakkaat) esim. Jolla (jollla ei ole vieläkään palonkaan natiivisovelluksia).
C:n etu tässä olisi sen yksinkertaisuus verrattuna C :n. Kun on yksinkertainen niin siihen helppo tehdä muita sovelluksia. (Esim. Linux on kirjoitettu C:llä).
Tämä ei tarkoita sitä että C olisi huono vaan sitä että asiassa pitäisi ottaa muitakin näkökulmia QT:sta kirjoitti:
QT on eräällä tavalla malliesimerkki siitä miten valittu väärä kieli toteutukseen (jota välttämättä tekijät ymmärrä vieläkään). QT on kirjoitettu C :lla mutta jos he olisivat tehneet sen fiksusti niin se olisi kirjoitettu C:llä.
(Voi olla ettet heti ymmärrä tätä pointtia)
Se ketkä kärsivät tästä ratkaisusta ovat QT:n käyttäjät (asiakkaat) esim. Jolla (jollla ei ole vieläkään palonkaan natiivisovelluksia).
C:n etu tässä olisi sen yksinkertaisuus verrattuna C :n. Kun on yksinkertainen niin siihen helppo tehdä muita sovelluksia. (Esim. Linux on kirjoitettu C:llä).
Tämä ei tarkoita sitä että C olisi huono vaan sitä että asiassa pitäisi ottaa muitakin näkökulmia"C:n etu tässä olisi sen yksinkertaisuus verrattuna C :n. Kun on yksinkertainen niin siihen helppo tehdä muita sovelluksia."
QT:hen en ota kantaa ku ei ole tarpeeksi kokemusta mutta C:llä nyt on yksinkertaista vaan "hello world". Vähäkin laajempi sovellus ja homma hajoaa käsiin, jos et ole rautainen ammattilainen.
- m o t
Jo otsikosta huomaa, ettet tiedä asiasta mitään.
- m o t
Tämä oli osoitettu nimimerkille "QT:sta".
- vitun pälli
"mutta miten valita sitten se GDI ja kieli"
GDI? Ei sitä valita, kun se löytyy jokaisen Windowsin ytimestä. Opettele käsitteet ennen kuin tulet tänne kyselemään ummet ja lammet.- hemmetin älykääpiö
Eikö sitä yleensä siksi kysytä, kun ei osata. :)
- 0lio
Pidetään keskustelu asiallisena.
- kätevää ja helppoa
yksi tapa toteuttaa asia on expect-skripti, jota pyöritetään tcl/tk skriptin kautta. Avataan siis yksinkertaisesti vaikka lftp skriptakielen läpi ja lähetellään sille komentoja GUI:sta. Erittäin helppo toteuttaa, kannattaa myös tutustua wish:iin!
Valmiina löytyisi Filezilla, ja voi myös vaikka ottaa sen lähdekoodit ja riisua tarpeettomat toiminnot pois.
Mutta, todennäköisesti teet homman perustavalla tavalla väärin. Miksi käyttää FTP:tä kun voisit lähettää tiedostot selaimella?- blackbox
Tcl/Tk ja Lua sopii tähän tarkoitukseen vallan hyvin. Python ja Ruby sopii myös.
Itse olen omaan käyttöön tehnyt graafisia käyttövalikoita Component Pascalilla. Tämä on Pascalin eräs versio.
Tälle on saatavissa aika kiva IDE ympäristökin: BlackBox.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 833845
Loukkaantunut lapsi on yhä kriittisessä tilassa
Seinäjoella Pohjan valtatiellä perjantaina sattuneessa liikenneonnettomuudessa loukkaantunut lapsi on yhä kriittisessä t322719Minä en ala kenenkään perässä juoksemaan
Voin jopa rakastaa sinua ja kääntää silti tunteeni pois. Tunteetkin hälvenevät aikanaan, poissa silmistä poissa mielestä952174Tiedän, että emme yritä mitään
Jos kohtaamme joskus ja tilaisuus on sopiva, voimme jutella jne. Mutta kumpikaan ei aio tehdä muuta konkreettista asian201687Onko jollakin navetassa kuolleita eläimiä
Onko totta mitä facebookissa kirjoitetaan että jonkun navetassa olisi kuolleita eläimiä? Mitä on tapahtunut?261568Mitä, kuka, hä .....
Mikähän sota keskustassa on kun poliiseja on liikkeellä kuin vilkkilässä kissoja261498- 281471
Näin pitkästä aikaa unta sinusta
Oltiin yllättäen jossain julkisessa saunassa ja istuttiin vierekkäin, siellä oli muitakin. Pahoittelin jotain itsessäni71454Noh joko sä nainen oot lopettanut sen
miehen kaipailun jota sulla EI ole lupa kaivata. Ja teistä ei koskaan tule mitään. ÄLÄ KOSKAAN SYÖ KUORMASTA JNE! Tutu731433- 251387