57 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: What is an API | |||
|  | localeTitle: Что такое API | |||
|  | --- | |||
|  | ## Что такое API?
 | |||
|  | 
 | |||
|  | API - это интерфейс прикладного программирования. API-интерфейсы скрывают сложность от разработчиков, расширяют системы до партнеров, организуют код и делают компоненты многократными. Не беспокойтесь о AP, просто сосредоточьтесь на I. API - это интерфейс. Вы используете интерфейсы все время. Компьютерная операционная система - это интерфейс. Кнопки в лифте - это интерфейс. Педаль газа в автомобиле - это интерфейс. | |||
|  | 
 | |||
|  | Интерфейс находится поверх сложной системы и упрощает определенные задачи, посредника, который избавляет вас от необходимости знать все детали того, что происходит под капотом. Веб-API - это то же самое. Он находится поверх веб-службы, такой как Twitter или YouTube, и упрощает определенные задачи для вас. Он переводит ваши действия в технические детали для компьютерной системы на другом конце. | |||
|  | 
 | |||
|  | Если вы когда-либо программировали на объектно-ориентированном языке, таком как Java или C ++, API очень похож на концепцию класса. Когда мы вызываем метод на объект (например, `.toString()` ), нам все равно, КАК объект производит результат, все, о чем мы заботимся, это строка, которую мы получаем в конце. Вызов API работает одинаково. Например, когда мы обращаемся к API Facebook для получения изображения профиля пользователя, нам не важно, как информация извлекается с сервера. Мы просто делаем запрос API, позволяем ему обрабатывать всю сложную логику поиска и получать нашу фотографию в конце всего. | |||
|  | 
 | |||
|  | ## Почему API полезны?
 | |||
|  | 
 | |||
|  | Доступ к API обычно означает доступ к большому количеству организованных данных. Привратник этих данных дает разрешение разработчика (в форме _ключа API_ ) запрашивать сервер для получения информации. Если запрос выполнен успешно, сервер отвечает сообщением, которое может выглядеть примерно так: | |||
|  | 
 | |||
|  | ```javascript | |||
|  | {  | |||
|  |   "coord": {  | |||
|  |     "lon":139,  | |||
|  |     "lat":35  | |||
|  |   },  | |||
|  |   "wind": {  | |||
|  |     "speed":7.31,  | |||
|  |     "deg":187.002  | |||
|  |   },  | |||
|  |   "rain": {  | |||
|  |     "3h":0  | |||
|  |   },  | |||
|  |   "clouds": {  | |||
|  |     "all":92  | |||
|  |   }  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | Источник: [Open Weather API](https://openweathermap.org/current) | |||
|  | 
 | |||
|  | В приведенном выше примере разработчик запросил текущую погоду на определенной широте и долготе, и сервер ответил _объектом JSON_ о ветре, дождю и облаках для этого местоположения. Службы, которые вы используете каждый день, производятся с помощью тон запросов и циклов реагирования, подобных этому. | |||
|  | 
 | |||
|  | **Вот 10 лучших API для начинающих** | |||
|  | 
 | |||
|  | 1.  Dropbox: https://www.dropbox.com/developers | |||
|  | 2.  Карты Google: https://developers.google.com/maps/web/ | |||
|  | 3.  Twitter: https://dev.twitter.com/docs | |||
|  | 4.  YouTube: https://developers.google.com/youtube/v3/getting-started | |||
|  | 5.  Soundcloud: http://developers.soundcloud.com/docs/api/guide#playing | |||
|  | 6.  Полоса: https://stripe.com/docs/tutorials/checkout | |||
|  | 7.  Instagram: http://instagram.com/developer/ | |||
|  | 8.  Twilio: https://www.twilio.com/docs | |||
|  | 9.  Yelp: http://www.yelp.com/developers/getting\_started | |||
|  | 10.  Facebook: https://developers.facebook.com/docs/facebook-login/login-flow-for-web | |||
|  | 
 | |||
|  | #### Дополнительная информация:
 | |||
|  | 
 | |||
|  | *   [API для не-программистов](https://schoolofdata.org/2013/11/18/web-apis-for-non-programmers/) | |||
|  | *   [Википедия](https://en.wikipedia.org/wiki/Application_programming_interface) | |||
|  | *   [Средняя](https://medium.com/girl-geeks/top-10-apis-for-beginners-4d3c43be9386) |