Sopivin kieli GUI-ohjelmointiin

0lio

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?

23

195

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Et olisi piilossa enää

      Vaan tulisit esiin.
      Ikävä
      83
      3845
    2. Loukkaantunut lapsi on yhä kriittisessä tilassa

      Seinäjoella Pohjan valtatiellä perjantaina sattuneessa liikenneonnettomuudessa loukkaantunut lapsi on yhä kriittisessä t
      Kauhava
      32
      2719
    3. Minä 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ä
      Ikävä
      95
      2174
    4. Tiedän, että emme yritä mitään

      Jos kohtaamme joskus ja tilaisuus on sopiva, voimme jutella jne. Mutta kumpikaan ei aio tehdä muuta konkreettista asian
      Ikävä
      20
      1687
    5. Onko jollakin navetassa kuolleita eläimiä

      Onko totta mitä facebookissa kirjoitetaan että jonkun navetassa olisi kuolleita eläimiä? Mitä on tapahtunut?
      Puolanka
      26
      1568
    6. Mitä, kuka, hä .....

      Mikähän sota keskustassa on kun poliiseja on liikkeellä kuin vilkkilässä kissoja
      Kemi
      26
      1498
    7. Miten hetki

      Kahden olisi paras
      Ikävä
      28
      1471
    8. Näin pitkästä aikaa unta sinusta

      Oltiin yllättäen jossain julkisessa saunassa ja istuttiin vierekkäin, siellä oli muitakin. Pahoittelin jotain itsessäni
      Ikävä
      7
      1454
    9. Noh 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! Tutu
      Ikävä
      73
      1433
    10. Hymysi saa tunteet

      Pintaan❤️ jos et tarkoita niin älä tee sitä
      Ikävä
      25
      1387
    Aihe