Что такое sdk java
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Java Development Kit
Содержание
История
Компания Sun Microsystems активно развивала и обновляла JDK, почти каждый год выходили новые версии. В 1996 г. была выпущена первая версия — JDK 1.0, которая модифицировалась до версии с номером 1.0.2. В этой версии библиотека классов Java API содержала 8 пакетов. Весь набор JDK 1.0.2 поставлялся в упакованном виде в одном файле размером около 5 Мбайт, а после распаковки занимал на диске около 8 Мбайт.
В 1997 г. появилась версия JDK 1.1, последняя ее модификация, 1.1.8, выпущена в 1998 г. В этой версии было 23 пакета классов, занимала она 8,5 Мбайт в упакованном виде и около 30 Мбайт — в распакованном. В первых версиях JDK все пакеты библиотеки Java API были упакованы в один архивный файл classes.zip и вызывались непосредственно из этого архива, его не нужно было распаковывать. Затем набор инструментальных средств JDK был сильно переработан.
Версия JDK 1.2 вышла в декабре 1998 г. и содержала уже 57 пакетов классов. В архивном виде это файл размером почти 20 Мбайт и еще отдельный файл размером более 17 Мбайт с упакованной документацией. Полная версия располагается на 130 Мбайт дискового пространства, из них около 80 Мбайт занимает документация. Начиная с этой версии, все продукты технологии Java собственного производства компания Sun стала называть Java 2 Platform, Standard Edition, сокращенно J2SE, а в литературе утвердилось название Java 2. Кроме 57 пакетов классов, обязательных на любой платформе и получивших название Core API, в Java 2 JDK 1.2 входят еще дополнительные пакеты классов, называемые en:Standard Extension API.
В версии J2SE JDK 1.5.0, вышедшей в конце 2004 г., было уже под сотню пакетов, составляющих Core API (Application Programming Interface). В упакованном виде — это файл размером около 46 Мбайт и необязательный файл с упакованной документацией такого же размера. В это же время произошло очередное переименование технологии. Из версии убрали первую цифру и стали писать Java 2 Platform, Standard Edition 5.0, сокращенно J2SE 5.0 и JDK 5.0, хотя во внутрифирменной документации сохраняется название JDK 1.5.0. Последнее обновление J2SE 5.0, JDK 1.5.0_22, было выпущено 3 ноября 2009 года.
В шестой версии, вышедшей в начале 2007 г., из названия технологии убрали цифру 2 и стали писать Java Platform, Standard Edition 6, сокращенно — Java SE 6 и JDK 6. Впрочем, во внутрифирменной документации остается прежнее обозначение, например последнее на момент написания книги обновление обозначается JDK 1.6.0_26. Летом 2011 года появилась седьмая версия Java SE 7 и распространяется JDK 1.7.0.
Программы и классы, входящие в JDK
Набор программ и классов JDK содержит:
Версии
JDK имеет следующие версии:
Различие между JDK, SDK и ADK
Разница между JDK и JRE
«JDK» является Java Development Kit. То есть, это комплект JDK программного обеспечения, которое можно использовать для разработки Java Based программного обеспечения. «JRE» является Java Runtime Environment. То есть, en:JRE это реализация виртуальной машины Java, которая в действительности выполняет Java программы.
Что такое IDE и SDK? «Страшные» термины простыми словами
Современному человеку нередко приходится сталкиваться с различными малопонятными терминами из мира компьютеров, даже если он никогда не занимался и не планирует заниматься программированием.
Пусть даже вы хотите сосредоточиться исключительно на вопросах бизнеса, взвалив всю нагрузку по созданию приложений для вашей компании на разработчиков, некоторое понимание совершаемых ими действий будет совсем не лишним. Ранее мы уже рассматривали такие понятия, как API и Webhook. На этот раз хотелось бы раскрыть тему SDK и IDE.
Что такое IDE?
Термин IDE расшифровывается как Integrated Development Environment или «интегрированная среда разработки» (в русском языке иногда используется аббревиатура ИСР). Это набор инструментов, позволяющих создавать приложения. Иными словами, если говорить очень просто, то IDE – это программа, в которой создаются другие программы.
Изначально, на заре развития компьютерной техники, программисты записывали код на бумаге, после чего его вводили в ЭВМ при помощи перфолент или перфокарт (кстати, и то и другое также изготовлялось из бумаги). Одна малейшая ошибка могла привести к неработоспособности программы. Со временем, когда вычислительная техника достигла определённого уровня развития, появилась возможность редактирования кода прямо на экране терминала. А несколько позже появились и средства, позволяющие набирать текст программы на экране, избегая «бумажной волокиты».
IDE – это не специализированные текстовый редактор!
На самом деле, это куда более сложный инструмент. Сама по себе среда разработки обычно включает в себя и специализированный текстовый редактор, «заточенный» для работы с кодом. Но для полноценного программирования этого, конечно же, недостаточно.
Требуется также наличие хотя бы компилятора и отладчика. Первый необходим для того, чтобы перевести текст программы, созданный с использованием команд, написанных на английском (обычно) языке, в машинные коды, понятные компьютеру. Отладчик же используется для нахождения и устранения ошибок, неизбежно возникающих при написании кода.
По факту же современные IDE включают в себя множество самых разнообразных инструментов, призванных решать те или иные задачи. Например, там могут присутствовать инструменты для визуальной разработки, позволяющие буквально «нарисовать» программу, используя для этого специальный графический редактор.
Самые первые IDE имели простой (даже скажем больше, примитивный) текстовый интерфейс. Затем появились и решения с графическим интерфейсом. Некоторые современные среды разработки отличаются высокой сложностью, и подчас просто чтобы разобраться в них, даже опытному разработчику необходимо сначала прочитать соответствующую документацию.
Какие сегодня существуют IDE
Современные IDE могут быть бесплатными или платными. Существуют также и условно бесплатные решения. В последнем случае среду разработки можно просто скачать в Сети и тут же начать использовать. Но при этом она будет иметь ряд ограничений. Например, в бесплатном варианте популярная среда разработки IntelliJ IDEA позволит работать только с Java, в то время как оформление подписки откроет доступ к ещё целому ряду языков программирования.
Тут уместно будет привести несколько примеров популярных IDE (в алфавитном порядке):
Естественно, что это только некоторые примеры. По факту же количество IDE в мире значительно больше.
Какой IDE самый лучший?
Сам по себе вопрос некорректный. На сегодняшний день в мире существует немало самых разнообразных IDE, предназначенных для решения самых разных задач. И выбор зависит от разных факторов, из которых самым главным является список стоящих перед программистом задач.
Например, если планируется создавать программные продукты для экосистемы Apple, то вполне логичным выглядит решение воспользоваться таким решением, как XCode. Разработчики под Windows нередко используют Visual Studio. А среди пишущих на языке программирования Python популярность завоевала среда разработки PyCharm. Список примеров можно продолжать.
Влияет также и то, насколько опытным является разработчик. Так, новичка вполне может удовлетворить среда разработки Code::Blocks – с открытым кодом, для разных платформ, простая и нетребовательная к ресурсам, предназначенная для тех, кто пишет на C, C++ или Fortran (да, этот динозавр всё ещё используется, причём довольно активно). Однако целый ряд ограничений делает невозможным применение данного решения в сложных проектах, профессионалам оно точно не подойдёт.
Немалую роль могут сыграть и личные предпочтения. Например, человеку может банально не понравиться внешний вид среды разработки. Иными словами, можно посоветовать разработчику использовать ту или иную IDE, в зависимости от стоящих перед ним задач, но назвать однозначно самую лучшую – невозможно.
Что такое SDK и чем он отличается от API
Как показывает практика, понять термин SDK новичку бывает несколько сложнее, нежели описанный выше IDE. Нередко также возникают сложности с пониманием различий между SDK и API. И действительно, эти термины часто используются вместе. Но синонимами они при этом не являются!
Простая расшифровка термина – Software Development Kit, набор средств разработки – мало что объясняет. Попробуем объяснить всё максимально простым языком (для начала рекомендуем ознакомиться с нашим материалом про API, если вы ещё не сделали этого ранее).
Итак, SDK – это набор средств, при помощи которого разработчики могут создавать программное обеспечение под самые разные платформы. Данный набор может включать в себя самые разнообразные инструменты (утилиты, библиотеки, драйверы, документацию, фрагменты готового кода и многое другое), позволяющие писать и внедрять приложения. При этом SDK включает в себя и API (а иногда и сразу несколько), который используется для взаимодействия с платформой, под которую и пишется софт.
Простыми словами про SDK
Представьте себе дом, к которому подведена электрическая проводка, для которой существует подробная спецификация (описание). Вот данная спецификация и является API. А SDK – это набор инструментов и комплектующих, позволяющий вам создавать самые разнообразные приборы, которые вы потом сможете подключать к этой электрической сети. То есть описание сети (платформы, для которой мы пишем приложения) важно, но одним только этим описанием для создания приборов не обойтись.
Приведём и другой, более «программистский» пример. Так, язык программирования, который используется при написании программы, можно представить себе как API. А в качестве SDK при этом будут выступать инструменты для написания и отладки кода.
Конечно же, оба этих примера очень поверхностны, их задача – лишь передать суть. По факту же, для глубокого понимания таких понятий, как SDK и API необходимо обладать специальными знаниями и опытом. Иначе говоря, быть разработчиком.
Откуда берётся SDK
Набор средств разработки предоставляется создателем платформы, заинтересованным в том, чтобы под неё создавались приложения. Обычно его можно просто скачать из интернета, нередко бывает и так, что SDK распространяется совершенно бесплатно. Это делается для того, чтобы заинтересовать сторонних разработчиков в использовании платформы, убедить их создавать приложения для неё.
Но SDK могут быть предназначены исключительно для внутреннего применения и недоступны для сторонних разработчиков. В таком случае программист получает доступ ко всему необходимому лишь после трудоустройства в контору, создавшую платформу.
Часто SDK имеют лицензию, с которой нужно считаться при написании приложений. Например, проприетарные наборы не подходят для создания программ с открытым кодом.
Порой первая буква в аббревиатуре SDK меняется для того, чтобы сделать название более близким к тому, для чего именно создавался данный набор. Например, DDK или Driver Development Kit – набор средств, предназначенный специально для написания драйверов устройств. Впоследствии компания Microsoft пошла ещё дальше, заменив термин DDK на WDK – Windows Driver Kit. Или другой пример – JDK или Java Development Kit. В данном случае речь идёт о наборе средств разработки для языка Java.
Apix-Drive — универсальный инструмент, который быстро упорядочит любой рабочий процесс, освободив вас от рутины и возможных денежных потерь. Опробуйте ApiX-Drive в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.
SDK и API: в чем разница?
Разработчики программного обеспечения пользуются основными инструментами: SDK и API. По сути, как SDK, так и API позволяют улучшить функционал приложений, не прибегая к большим усилиям.
Что такое SDK?
Аббревиатура SDK расшифровывается как software development kit. SDK, или devkit, — это набор средств для разработки ПО под определенную платформу. Он содержит компоновочные блоки, средства отладки, а зачастую фреймворк или группу библиотек кода, например набор подпрограмм для определенной операционной системы.
В стандартном SDK могут присутствовать как некоторые, так и все компоненты из списка ниже:
Как работает SDK
SDK предоставляет инструменты, которые способствуют ускорению и стандартизации разработки приложений.
Примеры использования SDK
SDK — неотъемлемая часть разработки мобильных приложений. SDK имеют множество областей применения:
Преимущества SDK
Что такое API?
Аббревиатура API расшифровывается как application programming interface (интерфейс программирования приложений). API — и как отдельное решение, и в составе SDK — облегчает обмен данными между двумя платформами и позволяет сторонним разработчикам использовать функционал проприетарного ПО.
API можно рассматривать как соглашение между двумя сторонами. API не только обеспечивает возможность обмена данными, но и устанавливает его правила.
Поскольку некоторые API предоставляют интерфейс напрямую, термины API и «интерфейс» иногда взаимозаменяемы.
Чтобы внести ясность, стоит отметить, что API может состоять из двух компонентов:
Что представляет вызов API с технической точки зрения:
Нужно ли выбирать между SDK и API?
Нет, ведь как сказано выше, SDK зачастую имеет по меньшей мере один API. Они выполняют разные функции, но могут работать и помогать вместе.
Следует иметь в виду, что с использованием API и SDK связаны некоторые сложности. Одна из них заключается в потенциальных уязвимостях. Другая сложность, относящаяся к SDK, — частота обновлений. Поэтому важно, чтобы команды DevOps держали вопрос информационной безопасности в поле зрения, а также следили за своевременным обновлением компонентов.
Оригинальный материал на английском языке доступен по ссылке.
Различия между JDK и Java SDK
есть ли существенная разница между этими двумя терминами?. Я понимаю, что JDK означает Java Development Kit, который является подмножеством SDK (Software Development Kit). Но указание Java SDK должно означать то же самое, что и JDK.
15 ответов
JDK является подмножеством того, что свободно определяется как набор для разработки программного обеспечения (SDK) в общем смысле. В описаниях, которые сопровождают их последние выпуски для Java SE, EE и ME, Sun признают, что в соответствии с их терминологией JDK формирует подмножество SDK, которое отвечает за написание и запуск программ Java. Остальная часть SDK состоит из дополнительного программного обеспечения, такого как приложение Серверы, Отладчики и документация.
«дополнительное программное обеспечение», похоже, Glassfish, MySQL и NetBeans. на этой странице дает сравнение различных пакетов, которые вы можете получить для Java EE SDK.
Да, есть разница между SDK и JDK. Большинство людей забывают, что платформа Java используется не только для разработки программ на языке Java. JVM также поддерживает некоторые другие языки. Таким образом, чтобы было ясно, SDK-это общий пакет программного обеспечения, который поддерживает создание программного обеспечения на различных языках, таких как Clojure, Groovy, Scala, JRuby и другие. JDK-это конкретный пакет для разработки программного обеспечения на языке Java, содержащий весь JAVA standard API для этого. (Я надеюсь Я объяснил это хорошо, так как я на самом деле не говорю по-английски)
JDK-это SDK для Java.
SDK означает «набор для разработки программного обеспечения», инструменты разработчиков, которые позволяют писать код с большей легкостью, эффективностью и эффективностью. SDKs приходят для различных языков. Они предоставляют множество API (интерфейсов прикладного программирования), что упрощает работу программиста.
SDK для Java называется JDK, Java Development Kit. Итак, говоря SDK для Java, вы фактически ссылаясь на JDK.
Java является независимым от платформы языком. JRE запускает JVM, виртуальную машину Java, которая позволяет запускать программное обеспечение на любой платформе, для которой доступна JVM.
взято из установщика Java EE 6 SDK, показывает, что SDK 6 содержит помимо JDK:
JDK (Java Development Kit) является SDK (Software Dev Kit).
Он используется для создания программного обеспечения/приложений на Java и, конечно же, он включает JRE (Java Runtime Edition) для выполнения этого программного обеспечения. Если вы просто хотите выполнить Java-приложение, загрузите только JRE.
кстати, Java EE (Enterprise Edition) содержит библиотеки пакетов классов «с методами (функциями)» для создания приложений для веб-среды и Java ME (Micro Edition) для мобильных устройств устройства. Если вас это интересует (Java ME), я бы рекомендовал взглянуть на Android DevKit и API Google.
Sun просто любит менять названия вещей без видимой причины. Посмотрите на три различные схемы нумерации для SunOS / Solaris или две схемы нумерации для Java. Является ли Java 1.6, Java 2 версии 6 или Java 6?
Итак, почему существуют эти две разные ссылки ( SDK и JDK), чтобы загрузить их?
нет никакой разницы между JDK и Java SDK. Оба они означают одно и то же. Я думаю, что это было PR-решение на Sun, чтобы перейти от JDK к Java SDK. Я думаю, что сейчас он вернулся к JDK.
с моей точки зрения, нет никакой разницы между JDK и SDK в java. Мы можем найти все инструменты разработки, а также средства в обоих из них. это просто псевдоним, предоставленный sun.
лучший пример для этого вопроса, SDK-Software Development Kit-Ex: Netbeans JDK-Java Development Kit.(Это компилятор Java). Без JDK мы не можем запускать java-программы в SDK.
JDK поставляется с набором инструментов, которые используются для разработки и запуска программ Java,
appletviewer (для просмотра Java-апплетов)
javac (компилятор Java)
java (интерпретатор Java)
javap (Java disassembler)
javah (для заголовка C файлы)
javadoc (для создания HTML-документов)
в то время как SDK поставляется со многими другими инструментами, включая инструменты, доступные в JDKs.
нет никакой разницы.
Я думаю, что jdk имеет определенные функции, которые могут быть использованы вместе с конкретной структурой. Назовем это SDK в целом.
Как Android или Blackberry оба используют java вместе со своей структурой.
Edit: хотя на данный момент это кажется неправильным. Sun находятся в процессе opensourcing JVM (возможно, они даже закончили), поэтому я не слишком удивлюсь, если мой ответ станет правильным. Но на данный момент SDK и JDK-это одно и то же.
есть два продукта JavaSE и JavaEE. EE-это веб-приложение/enterprise edition, которое позволяет разрабатывать и запускать веб-приложение. SE-это простой Java-продукт, который не имеет специфики EE, но является подмножеством EE. SE поставляется в двух типах JDK и JRE.
есть одна большая разница, которая может быть не очевидной, и я не уверен, что это относится ко всем операционным системам, но под Windows JRE не имеет серверной точки доступа JVM, только клиентский, JDK имеет оба, и, насколько я знаю, все другие ОС имеют как для JDK, так и для JRE. Реальная разница заключается в том, что JDK содержит компилятор Java, то есть JDK позволяет компилировать и запускать Java из исходного кода, где, поскольку JRE разрешает только запуск байтового кода Java, это источник, который уже был скомпилирован. И да, новые версии связывают ряд дополнительных компонентов, таких как среда редактора NetBeans и Java в базе данных памяти (derby/cloudscape), но это необязательный.
SDK и пример приложений
Раздел “SDK (software development kits) и примеры приложений” аналогичен образцам и описаниям кода, но более обширен и обычно включает в себя целую коллекцию файлов, которые работают вместе как пакет или пример приложения. SDK может включать библиотеки, которые мы загружаем и встраиваем в свое приложение, и может состоять из инструментов, примеров приложений и другого кода.
Что такое SDK?
Термины API и SDK часто используются вместе, но они не являются синонимами. SDK реализуют независимый от языка REST API на определенном языке, таком как Java или C ++. API REST сами по себе не привязаны к какому-либо конкретному языку; обычно мы демонстрируем API, совершая запросы, используя cURL, инструмент командной строки для отправки веб-запросов и получения ответов. Но разработчики не будут использовать запросы cURL при реализации API. Вместо этого они будут реализовывать запросы API, используя язык, на котором написано их приложение.
Например, приложения Python, C++ или Node выполняют запросы API разными способами. Каждый язык имеет свой собственный способ построения запросов к API. Можно использовать Postman или Paw для автоматической генерации простого запроса на определенном языке (см. Автоматическая генерация примеров кода ). SDK выводит реализацию на другой уровень. SDK могут включать в себя гораздо больше файлов или библиотек как часть реализации.
В статье В чем разница между API и SDK? Kristopher Sandoval объясняет SDK следующим образом:
Sandoval сравнивает примеры API и SDK Facebook, чтобы прояснить разницу. Он резюмирует разницу следующим образом: «SDK является строительными блоками приложения, тогда как API является языком его запросов». Другими словами, SDK предоставляет весь необходимый код, необходимый для создания приложения, которое использует API.
Какова роль технического писателя в документировании SDK и примеров приложений
В руководстве SwaggerHub мы узнали, как автоматически генерировать клиентские SDK в интерфейсе SwaggerHub. Обычно, если ваша команда разработчиков предлагает клиентский SDK, вместо автоматически сгенерированного SDK будет код, который команда разработчиков готовит и тестирует. Команда разработчиков часто предоставляет SDK на нескольких целевых языках в зависимости от основного языка своего пользователя, что облегчает пользователям реализацию API.
Техническому писателю API, документирование SDK и примеров приложений является более сложной задачей, поскольку SDK требуют знания одного или нескольких языков программирования. Вопрос о том, сколько кода нужно знать техническому писателю рассмотрим в модуле Работа техписателя, поэтому здесь в подробности не будем вдаваться. Обычно разработчики не ожидают от вас глубокого знания нескольких языков программирования, но некоторое понимание потребуется для их описания и просмотра документации. При принятии решения о том, называть ли блок кода функцией, классом, методом или другим именем, необходимо иметь базовое понимание терминов, используемых в языке.
SDK и пример приложений
Если язык незнаком, можно просто взять то, что пишут инженеры, немного почистить его, попробовать пройтись по шагам, чтобы заставить работать любые примеры приложений, и посмотреть, какие отзывы приходят от пользователей. Обычно, если можно установить и работать с примером приложения и убедиться, что базовая документация для запуска приложения работает, а также то, что приложение делает, этого может быть достаточно. Но, конечно, для внесения любого существенного вклада в документацию SDK потребуется знание языка программирования, на котором написан SDK.
Как уже упоминалось в разделе Описание и образцы кода, не нужно документировать, как работает конкретный язык, как работает SDK компании. Предположительно, если инженер загружает Java SDK для API, это происходит потому, что инженер уже знаком с Java. Однако, если API был реализован особым образом в Java, нужно объяснить, почему был принят этот подход. (Конечно, для понимания разницы между документированием Java и документированием определенного подхода в реализации Java также требуется понимание Java.)
Примеры SDK и приложений
В следующих примерах показана документация некоторых примеров SDK и примеров приложений.
OpenWeatherMap API
Хорошая идея, если можно разместить свои примеры приложений и SDK на GitHub. Хранение кода на GitHub преследует две цели: во-первых, оно обычно ложится бременем на разработку поддержки и тестирования примеров кода, а также реагирует на проблемы, которые пользователи могут регистрировать в проекте. Во-вторых, это упрощает предоставление полнофункционального кода, поскольку пользователи могут клонировать проект и немедленно начать работу с ним. Команда разработчиков также может легко выпускать обновления.
Paypal REST SDK
PayPal PHP sdk
Heroku SDK
Как было упомянуто ранее, маловероятно, что получится внести значительный вклад в написание или просмотр документации SDK при незнании языком, для которого создан SDK. Группы разработчиков обычно не ожидают, что технические писатели будут знакомы с несколькими языками. Скорее всего, мы будем полагаться на разработчиков, которые владеют языками и средами для создания контента. Но для этого нам потребуется умело взаимодействовать с разработчиками и быть знакомыми с жаргоном и концепциями программирования.
Если разработчики говорят, что пользователи должны знать X, не стоит доверять их мнению из-за незнания языка. Лучше найти разработчиков на этом языке (даже своих разработчиков в других командах) для проверки документации. Если эти пользователи попросят больше подробностей, стоит связаться с командой разработчиков, чтобы предоставить нужные подробности.
Технические писатели, не знакомые с языком SDK, выступают в качестве посредников между авторами проекта и пользователями проекта. Технические писатели выявляют и устраняют пробелы в документации, и часто управляют публикацией и распространением документов. Но сам контент может быть слишком техническим для большинства технических писателей, играющих роль авторов контента. (Подробнее об этом в серии «Упрощенная сложность» статья под названием Be both a generalist and specialist through your technical acuity)
Amazon SDK
Но даже в этом случае существуют небольшие вариации от одной библиотеки к другой. Как инженеры гарантируют, что они используют то же описание для класса в Java, что и для Ruby и PHP? Инструменты для генерации документации или недостаточно умны, чтобы использовать фрагменты, или включены в общий онлайн-репозиторий. Обычно не используют переменные или другие методы одного источника. В результате, об одних и тех же понятиях могут быть разные описания в документации к разным SDK.
Google Cloud SDK
Google Cloud SDK предоставляет руководства по быстрому запуску для Linux, Debian, Ubuntu и других операционных систем. В руководствах объясняется, как устанавливать, настраивать и управлять командами SDK. Ссылка API для команд также включена.
Если взглянуть на Google Cloud SDK и Amazon SDK станет понятно, что при разнообразии SDK можно документировать и в ширь и в глубь. SDK специфичны для конкретного языка программирования, операционной системы или другого фреймворка, и поэтому попытка документировать эту категорию инструментов может быть сложной. Для документации SDK необходимо тесно сотрудничать с разработчиками и прислушиваться к отзывам пользователей.
👨💻 Практическое занятие: SDK
В своем найденном опен-сорс проекте найдем информацию об SDK для API. Ответим на следующие вопросы: