Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Cosa sono le API

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Cosa sono le API

    Salve.
    Ho dato già un'occhiata a wikipedia ma non ho capito forse al 100% ciò che intende sulla definizioni delle API.
    Come definizione le API sono interfaccie di programmazione di un'applicazione.
    Quello che vorrei capire se ad esempio con codice java scrivo:
    codice:
    System.out.println();
    Questa riga di codice è un qualcosa di astratto per il computer e che quindi si deve interfacciare con librerie o altro che non so..., per giungere ad un basso livello di programmazione cioè a livello macchina per ottenere l'effetto voluto?
    Grazie per qualsiasi chiarimento.

  2. #2
    Visto che anch'io non sono un gran che in Java ed in programmazione in genere, provo almeno a spiegarti quello che so.
    API = dall'inglese>>>Application Programming Interface e vorebbe dire>>> Insieme di procedure disponibili al programmatore. Comunque, secondo il mio parere, porse tantissime domande nella programmazione, non è logico, quindi rischi di confonderti ancora di più. Meglio che lo cerchi di capire in una maniera più naturale.
    Secondo me quella riga che hai scritto cioè: System.out.println(); sarebbe un comando che tu dai al computer che poi dopo aver ricevuto il codice Oggetto(cioè, il file in estensione .class) lo esegue.
    Una volta ho stato per una notte intera per capire come funziona tutto questo e non l'ho capito fino in fondo neanchè adesso. Capire tutto è impossibile...
    Ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    bisogna dare il giusto livello di astrazione e il giusto peso a quello che si legge.
    La definizione di Wikipedia di API è a mio parere ottima:

    An application programming interface (API) is an interface implemented by a software program that enables it to interact with other software. It facilitates interaction between different software programs similar to the way the user interface facilitates interaction between humans and computers.
    An API is implemented by applications, libraries, and operating systems to determine their vocabularies and calling conventions, and is used to access their services. It may include specifications for routines, data structures, object classes, and protocols used to communicate between the consumer and the implementer of the API.


    Per farti capire come funziona e a cosa serve devi avere chiaro che chi scrive del software deve dire al resto del mondo come questo software "parla" con il mondo.
    Pensa ad un servizio ftp (trasferimento di file): le api in questo caso hanno 2 servizi importanti come put e get (per mandare un file in rete e per riceverlo). Ora come questi servizi vengono implementati a te non importa, sai che se usi la libreria puoi interfacciarti con la stessa attraverso le chiamate ai metodi. L'API appunto contiene tutto quello che ti serve per poterti interfacciare con la libreria, per poterla usare, senza che a te sia necessario sapere come effettivamente chi ha pensato la libreria l'ha scritta.
    Guarda una qualsiasi API, ti indica tutti i metodi che la libreria ha, in modo da indicarti cosa ci puoi fare con la libreria, come puoi richiamare i suoi servizi, come puoi utilizzarla.
    Questo è il minimo contenuto di una API e lo scopo per cui nasce.

    Riguardo a cosa fa, al momento non ti porre questo problema, visto che stai usando linguaggi di programmazione ad alto livello.
    Sappi intanto che un'istruzione java diventa un'istruzione comprensibile dalla virtual machine java, questa viene tradotta in una serie di routine direttamente comprensibili ed eseguibili dalla macchina, routine che a meno che non programmi in ASSEMBLER è difficile che tu veda.
    Ovviamente mi scuserete per le mie imprecisioni

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.