Разница java и android

Java Enterprise vs Android в 2019 — что выбрать новичку?

Решил поделиться своими мыслями на тему того, в какую отрасль разработки стоит пойти человеку, освоившему Java core и основы computer science. А дороги как известно две: Java Enterprise или Android-разработка. Под Java Enterprise программированием я понимаю разработку, вакансии которой на hh имеют заголовок «Java-разработчик». Вакансии, связанные с android-разработкой можно найти на том же сайте по запросу, соответственно, «android-разработчик».

Будем считать, что вы изучили на базовом уровне core языка Java, а также ознакомились с темами алгоритмов, SQL и другими базовыми вещами из computer science, и теперь выбираете путь куда двигаться дальше с прицелом на то, чтобы как можно скорее устроиться на должность junior-программиста. Обсудим какие есть плюсы и минусы в выборе между двумя обозначенными выше ветками разработки.

1) Стек технологий

Java-программирование пришло в бизнес уже почти 20 лет назад. Как следствие, в сфере появилось большое разнообразие фреймворков. На каждом проекте используется свой стек технологий, и бывает достаточно сложно понять, какие технологии еще будут жить, какие вот-вот умрут, а какие уже давно не используются. При этом, кроме джавовских вещей от джависта также требуют знать UI технологии: JS с фреймворками, html, css

Так как android относительно молодая ОС, а в бизнес она вошла еще позже, то тут нет такого зоопарка фреймворков как в большой джаве. Нет тут ни спринга, ни хибернейта, ни других более экзотических вещей. Работу тут можно начинать имея в багаже знаний лишь android sdk и java core. UI, насколько мне известно, предоставляется прямо «из коробки» (android studio), средствами drag and drop. То есть GUI часть дополнительно изучать не нужно

Читайте также:  Python datetime get hour

2) Особенности сферы

Как это ни печально, в России Java-программирования нет (за небольшим исключением — банки и гос порталы). То что мы пишем тут отправляется заказчикам в Европу и Америку. Следствием того, что заказчиками являются крупные компании является сложность самой бизнес-логики. Минимальный порог вхождения предполагает не только знание основных фреймворков, но также и специфические требования по распределенным системам, big data, глубокому пониманию многопоточности, машинному обучению

Android-приложения пишутся как для малого бизнеса, так и для крупных игроков по всему миру. Как следствие, есть возможность стартовать с простых проектов и развиваться в сторону более сложных. Другими словами, android предоставляет более низкий порог входа, но не ограничивает потолок — наряду с простыми проектами на рынке присутствуют также и достаточно сложные.

3) Есть ли будущее?

Насчет промышленного программирования на большой джаве — не знаю. Хотя она и держится в первых строчках рейтинга языков программирования, чем это вызвано для меня не понятно. Раньше это можно было объяснить наличием JVM и ее переносимостью, но теперь, когда десктопные приложения больше не разрабатываются и весь функционал выносится в веб — будущее джавы как языка для enterprise программирования для меня под вопросом. Наверное, раз джаву не очень активно используют российские компании, предпочитая ей другие языки программирования, видимо джава не очень современный язык, отвечающий требованиям реальной жизни.

На рынке смартфонов OS Android нет конкурентов. Вероятность того, что iOS поглотит android близка к нулю. Следовательно, ближайшие пару десятков лет в отрасли вряд ли произойдут существенные изменения. Может будут появляться новые фреймворки, но тот кто начинает с нуля сейчас сможет последовательно их изучать и расти профессионально вместе с развитием самой отрасли. В отличие от большой джавы не нужно пытаться изучить все и сразу, чтобы хоть куда-то устроиться — можно спокойно изучать тот небольшой scope технологий, что используются на рынке сейчас

Читайте также:  Import python in java

Источник

В чём разница между android и java?

Например когда запускаешь среду разработки там можно выбрать на чем ты будешь писать и среди вариантов бывают: Java, kotlin и android(. ),. Что означает этот андроид? Ведь приложения на андроиде пишутся на Java? Или есть еще язык андроид?

Простой 2 комментария

sim3x

5c061ecbe6392415487800.png

sim3x, Вот:

Собственно ответ на Ваш вопрос: java — есть java, язык программирования.
Android — тут подразумевается создание проекта под OS Android (хоть на той же java), который будет использовать Android SDK/NDK (набор библиотек, api, компонентов android os).

ChronosX

Android — это операционная система. Приложения под нее пишутся (обычно) на Java (или Kotlin, хотя есть ещё много ЯП, на которых можно писать приложения под Android).

DMGarikk

ну как минимум java в андроиде это не какаято конкретная версия оригинальной java а некий франкенштейн размазанный совместимостью по разным версиям андроида. в плоть до того что например могут работать какието вещи из java 7 и при этом другие уже не работаь

azerphoenix

Здравствуйте!
Я и сам пока изучаю java разработку и android разработку.
Но в android например, Java работает не на JVM, а на Dalvik VM и соответственно, просто java код на android не запустишь, разве, что установить на android среду разработки intellij idea + open jdk.
Нативным языком на андроид на сегдоняшний день является kotlin, который также работает на jvm и допускается смешивать куски кода даже внутри одного класса. С kotlin я не знаком, а приложения для андроид пишу на java. Что касается IDE, то обычно использую Android Studio или Intellij IDEA (к слову, Android Studio базируется на Intellij IDEA Community Edition).

Уже давно ART, далвик был до Android 5.

Нативные языка андроида — C/C++

azerphoenix

То есть, для того чтобы запустить программу написанную на Java, нужно установить на андроид эти две программы? Или хватит Dalvik VM? А где найти dalvik vm? В плей маркете я не нашел.

azerphoenix

azerphoenix

sulim000333, наверное, вы меня неправильно поняли. Просто установите AndroPorts + Intellij IDEA + Open JDK

Войдите, чтобы написать ответ

Как вернутся из одной активности в предыдущую не пересоздавая ее?

Источник

Есть ли разница между java и java в android??

Ребятки, как отличается java и java которая в android, только начал изучать программирование под andorid! и можно ли изучать только java под android не касаясь там всяких java ee, сервлетов, аплетов ну и прочего. просто есть желание развиваться как andorid разработчик, то вникать и развиваться как java dev желание не особо есть

Оценить 1 комментарий

bimeg: а вообще есть ли перспективы и смысл в android dev уходить, или сразу начинать изучать обычную java??

Дмитрий: это Вам решать. Оба рынка достаточно крупные и специалисты там востребованы. Не думаю, что разница в деньгах настолько велика, чтобы заниматься тем, чем не совсем хочется.
Вообще, лучший вариант, на мой взгляд — развиваться в обоих направлениях =)

gadfi

Если кратко то ─ да.
Вам понадобится базовые знания синтаксиса, коллекций, нужно понимать что такое ооп, патрены по сколько постольку подтянете в процессе.
И да, вполне можно работать просто как androoid разработчик, хотя java ee часто получает больше.

alexTitakoff

gadfi

Александр, смотря для чего
я например ни разу не использовал кодогенерацию сам (библиотеки не в счет), многопоточность обычно средствами android sdk — можно ли считать что я знаю java ? имхо нет
мешает ли это ? — да не особо, но если бы яскажем захотел написать свой dagger 3 c куртизанками то да это стало бы проблемой

gadfi

alexTitakoff

Конечно, можно изучать только то, что необходимо для создания приложений для android. Сервлеты и аплеты для этого не нужны. Иногда бывает полезно знать какие существуют сторонние Java библиотеки и насколько их возможно использовать в приложениях для android.

Перейти будет несколько легче, чем начать с нуля, не имея никакого опыта программмрования на Java, но усилий потребует много. Java для android очень специфична и больше вы узнаете о самом android, чем о программировании на Java для десктопа и серверов.

Getman_s: а вообще можно ли успешно существовать именно в android dev? стоит ли идти туда, востребовано ли?

anyd3v

можно, востребовано, можно получать прилично. вы посмотрите на темпы роста мобильного трафика и долю андроида в них.

Дмитрий: Хорошие специалисты в любой области никогда без работы и без зарплаты не сидят. Не так давно читал, что спрос на android разработчиков до сих пор сильно превышает предложение. В любом случае, при разработке под android программист работает с многими технологиями широкого спектра применения (SQL, SQLite, XML, JSON, TCP/IP, HTTP и т.д.). Редкое современное приложение обходится без баз данных и сетевого взаимодействия. Изучение этих технологий не может быть бесполезным. Отдельно стоит сказать о специалистах, которые кроме Java знают C и C++ и умеют использовать NDK. Таких в процентном соотношении очень мало и спрос на них сильно выше предложения.

Источник

Разница java и android

Java Android или Java enterprise?

Android против Java

Java — один из самых популярных объектно-ориентированных языков программирования в мире. Java широко используется для программного обеспечения и веб-разработки. В последнее время Java стала популярным языком и для мобильных приложений. Android — это платформа для мобильных телефонов, разработанная Google. Разработка под Android в большинстве случаев основана на java. Большая часть библиотек Java доступна на платформе Android, но есть и много других (не java) библиотек, существующих в Android (для пользовательских интерфейсов и т. Д.).

Java — один из наиболее широко используемых объектно-ориентированных (и основанных на классах) языков программирования, используемых сегодня для разработки программного обеспечения и веб-разработки.Это язык программирования общего назначения для параллельного программирования. Первоначально он был разработан Sun Microsystems в 1995 году. Джеймс Гослинг — отец языка программирования Java. Корпорация Oracle теперь владеет Java (после недавней покупки Sun Microsystems). Java Standard Edition 6 — это его текущий стабильный выпуск. Java — это строго типизированный язык, поддерживающий ряд платформ от Windows до UNIX. Java находится под лицензией GNU General Public License. Синтаксис Java очень похож на C и C ++. Исходные файлы Java имеют расширение .java. После компиляции исходных файлов Java с помощью компилятора javac он создаст файлы .class (содержащие байт-код Java). Эти файлы байт-кода можно интерпретировать с помощью JVM (виртуальной машины Java). Поскольку JVM может работать на любой платформе, Java считается многоплатформенной (кроссплатформенной) и очень портативной. Обычно конечные пользователи используют JRE (среду выполнения Java) для выполнения байт-кода Java (или апплетов Java в веб-браузерах). Разработчики программного обеспечения используют Java Development Kit (JDK) для разработки приложений. Это надмножество JRE, которое включает компилятор и отладчик. Приятной особенностью Java является автоматическая сборка мусора, при которой объекты, которые больше не требуются, автоматически удаляются из памяти.

Android — это платформа для мобильных телефонов, разработанная Google. Большая часть библиотек Java 5.0 поддерживается Android. Таким образом, можно сказать, что разработка под Android основана на java. Многие из неподдерживаемых библиотек Java либо имеют более качественные замены (другие аналогичные библиотеки), либо просто не нужны (например, библиотеки для печати и т. Д.). Такие библиотеки, как java.awt и java.swing, не поддерживаются, поскольку в Android есть другие библиотеки для пользовательских интерфейсов. Android SDK поддерживает другие сторонние библиотеки, такие как org.blues (поддержка Bluetooth). В конечном итоге код Android компилируется в коды операций Dalvik. Davilk — это специальная виртуальная машина, оптимизированная для мобильных устройств с ограниченными ресурсами, такими как мощность, процессор и память.

В чем разница между Android и Java?

Java — это язык программирования, а Android — платформа для мобильных телефонов. Разработка под Android основана на java (в большинстве случаев), поскольку большая часть библиотек Java поддерживается Android. Однако есть ключевые отличия. В отличие от Java, приложения Android не имеют основной функции. У них есть функции onCrete, onResume, onPause и onDestroy, которые разработчики должны перезаписать. Код Java компилируется в байт-код Java, а код Android компилируется в код операции Davilk.

Источник

Оцените статью