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
216
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
Ja taas ammuttu kokkolassa
Kokkolaisilta pitäisi kerätä pois kaikki ampumaset, keittiöveitset ja kaikki mikä vähänkään paukku ja on terävä.666071- 1325415
Helena Koivu on äiti
Mitä hyötyä on Mikko Koivulla kohdella LASTENSA äitiä huonosti . Vie lapset tutuista ympyröistä pois . Lasten kodista.4513322Ovatko naiset lopettaneet sen vähäisenkin vaivannäön Tinderissa?
Meinaan vaan profiileja selatessa nykyään valtaosalla ei ole minkäänlaista kirjoitettua tekstiä siellä. Juuri ja juuri s1091707Suomi vietiin Natoon väärin perustein. Viides artikla on hölynpölyä. Yksin jäämme.
Kuka vielä uskoo, että viides artikla takaa Suomelle avun, jos Suomeen hyökätään. Liikuttavasti täällä on uskottu ja ved3731247- 311127
- 671061
Sydämeni on sinun luona
Koko ajan. Oli ympärilläni ketä oli niin sinä olet vain ajatuksissa ja tunteissa. En halua muiden kosketusta kuin sinun46946Trump ja Venäjä
Huomasitteko muuten... Käytännössä ainoat valtiot, joille Trump EI eilen asettanut typeriä tariffejaan, olivat Venäjä ja110912Jatkuva stressitila
On sinun vuoksesi kun en tiedä missä mennään mutta tunteeni tiedän ainoastaan52879