Почему не там никакие настоящие конкуренты JavaScript?

Я сделал много тестов, поэтому я получил решение, как я покажу в коде ниже, но если вы знаете лучшее решение, покажите мне.

private fun postImage() {
    user_register_button.setOnClickListener {

        if (selectedImage != null) {
            var imageFile = File(baseContext.cacheDir, "${System.currentTimeMillis()}")
            imageFile.createNewFile()

            var arrayOutputStream = ByteArrayOutputStream()
            getBitmapFromUri(selectedImage).compress(Bitmap.CompressFormat.JPEG, 100, arrayOutputStream)
            var outputStream = FileOutputStream(imageFile)
            outputStream.write(arrayOutputStream.toByteArray())
            outputStream.flush()
            outputStream.close()


            var descriptionBody = RequestBody.create(MediaType.parse("image/*"), imageFile)
            val imagePart = MultipartBody.Part.createFormData("file", "${System.currentTimeMillis()}", descriptionBody)

            ImageRequest(getString(R.string.base_url_file_upload)).postImageFile(
                image = imagePart, delegate = object : Delegate<ResponseBody> {
                    override fun onSuccessFull(isSuccessFull: Boolean, response: ResponseBody?, message: String?) {
                        if (isSuccessFull) {
                            Log.i("ResponseBody", response.toString())
                        } else {
                            Log.i("ResponseError", message)
                        }
                    }

                    override fun onFailure(exception: Throwable) {
                        Log.i("Error", exception.message)
                        exception.printStackTrace()
                    }

                })

        }
    }
}

@Throws(IOException::class)
private fun getBitmapFromUri(uri: Uri): Bitmap {
    val parcelFileDescriptor = contentResolver.openFileDescriptor(uri, "r")
    val fileDescriptor = parcelFileDescriptor.fileDescriptor
    val image = BitmapFactory.decodeFileDescriptor(fileDescriptor)
    parcelFileDescriptor.close()
    return image
}
19
задан Quentin 9 December 2015 в 11:52
поделиться

15 ответов

Импульс. JavaScript был вокруг в течение приблизительно 15 лет, и производители браузера работали в течение приблизительно 15 лет, чтобы заставить его работать в их браузерах.

, Если бы конкурент приехал, это должно было бы действительно принести что-то новое для таблицы, чтобы убедить всех a) принимать его, b) жить с блокировкой всех пользователей более старых браузеров как IE7, Firefox 3.0, Chrome 1.0 и т.д. и c) находить замены для всех существующих библиотек как jQuery, прототип, extJS и т.д.

Короче говоря: нам не нужен другой Стандарт, давайте скорее улучшим JavaScript и основывайтесь на богатой основе, которая уже существует вместо того, чтобы отшатываться от каменного века снова.

31
ответ дан 30 November 2019 в 02:03
поделиться

Существует! Которые приходят на ум, являются Flash, ActiveX и Java... Но они все имеют их недостатки. Главным образом безопасность и интеграция с browser/DOM.

Flash и Java живут в их собственном небольшом мире дизайном (и обратиться к проблемам безопасности). Они не могут изменить HTML вокруг них. ActiveX имеет доступ к DOM, но также и всему остальному на Вашем компьютере.

JavaScript, кажется, нашел хороший баланс между гибкостью и безопасностью, это может тривиально взаимодействовать и изменить страницы HTML/CSS, сделать "безопасные" сети, имеет достойную стандартную библиотеку (который имеет вещи как JSON, сети XmlHttpRequest'sih, управление DOM, и так далее). Самое главное это доступно в в основном всех неопределенно современных браузерах на всех платформах, последовательным способом (по сравнению с CSS)

существуют проблемы с JavaScript, но ничего серьезного. Самой большой является производительность. Загрузите страницу комментария на Digg и следите за Вашим использованием ЦП. Шанс - это, будут 100% одного ядра процессора. Существуют проекты улучшить это, как SquirrelFish, TraceMonkey и другие странно именованные вещи. Но производительность соответствует, чтобы сделать некоторые чрезвычайно впечатляющие вещи (электронная таблица Google, например).

В основном, JavaScript является большим, и это - недостатки, не являются почти столь же большими как другие конкуренты.

9
ответ дан 30 November 2019 в 02:03
поделиться

JavaScript победил, потому что он был представлен Netscape в период, когда они имели выше 90%-й доли рынка процента. IE и другие браузеры не имели никакого выбора, кроме как поддерживать его также.

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

Microsoft, возможно, вероятно, вытянула его прочь несколько лет назад, когда IE имеет чрезвычайно большую долю рынка (перед повышением Firefox и Safari), но они приняли решение вместо этого (по стратегическим причинам) позволить браузеру застояться.

Сегодня, новый язык потребовал бы, чтобы соглашение, по крайней мере, между Mozilla, IE и Safari нарастило обороты, и я думаю, что это очень маловероятно. Поставщики браузера инвестировали много ресурсов в оптимизации, совместимость, тестирующая и так далее на JavaScript - почему они должны хотеть запуститься с нуля с полностью нового языка - и иметь для поддержки двух языков параллельно в течение будущих десятилетий? Стоимость значительно перевешивает любые преимущества.

Так или иначе, довольно нереалистично полагать, что новый язык, разработанный с нуля, мог быть значительно лучше, чем JavaScript.

7
ответ дан 30 November 2019 в 02:03
поделиться

Покажите мне другой язык, который не уверен в библиотеках?

C, C++, C#, VBs... все полагаются на библиотеки. Единственная разница - то, что они часто идут со стандартным набором библиотек.

Так делают мы действительно хотим, стандартный набор библиотек? То, что мы в настоящее время получаем, является диапазоном наборов библиотеки (jQuery, прототип, extjs, mootools, и т.д.). Это - хорошая вещь так как мы, которых разработчики получают для выбора того, который удовлетворяет нашим потребностям. Кроме того, эти библиотеки могут быть включены и развиты без изменений в клиентском компоненте.

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

6
ответ дан 30 November 2019 в 02:03
поделиться
  • Стандартизированный ( ECMA-262)
  • Общий синтаксис и относительно простой ведущему устройству
  • Хорошая поддержка браузера
  • Растяжимый
  • Все еще быть разработанным
  • Относительно быстрый на основе того, сколько данных это должно иногда обрабатывать.

, Если бы хороший конкурент прибыл до 1999 (ECMAScript 3), это, вероятно, была бы связь между теми двумя.

4
ответ дан 30 November 2019 в 02:03
поделиться

Я рекомендую Вам просмотреть презентация Douglas Crockford’s о Language” Программирования JavaScript “The для приобретения знаний об истории JavaScript.

3
ответ дан 30 November 2019 в 02:03
поделиться

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

, В конце концов, это - браузеры, которые обрабатывают и выполняют JavaScript, и у Вас должна была бы быть большая сумма сайтов с помощью языка для создания браузеров заинтересованными реализацией его. С другой стороны никто не использовал бы его, если бы не было никакой поддержки браузера во-первых.

1
ответ дан 30 November 2019 в 02:03
поделиться

Я думаю, что JavaScript (ECMAScript) с его C как синтаксис так популярен по некоторым причинам C:

  • Относительно небольшое количество ключевых слов языка (легче учиться).
  • Краткий и эффективный синтаксис (быстрый для записи).
  • Легко растяжимый через внешние библиотеки и API, которые не загрязняют язык Бэйсик (т.е. Браузер DOM, FilesystemObject и т.д.).

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

Это было бы еще более проблематично для клиентского языка браузера, потому что разработчики языка не могут возможно знать, как язык может использоваться в будущем.

я думаю JavaScript, язык прекрасен в его текущей роли "связующего звена", которое связывает так многих другой клиент sode технологии.

нет никаких других конкурентов, потому что, в то время как JavaScript не прекрасен, он делает задание.

3
ответ дан 30 November 2019 в 02:03
поделиться

Существуют другие языки для клиентских сценариев, но AFAIK, ни один не интегрируется в браузер.

И Flash и Silverlight имеют их собственные Языки. Flash имеет ActionScript, в то время как Silverlight имеет многих и всю эту работу под ДОЛЛАРОМ включая Python и Ruby.

К Вашей второй точке относительно , почему , более конкретно Вы упоминаете уверенность в библиотеках JS как дефект на языке; Библиотеки популярны, не потому что язык, если повреждено, но потому что стандартный API повреждается. Существование такого великого освобождает, основывается на питании языка.

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

кроме того, повсеместность / массовое существующее развертывание во время выполнения является очень востребованной функцией. ;)

3
ответ дан 30 November 2019 в 02:03
поделиться

я сказал бы, что это вызвано тем, что клиентская веб-разработка является все еще очень молодым ответвлением программирования. при рассмотрении его только теперь, это стало более широко распространенным, так как мы переместились в более быстрые "межтрубы" :) и мы не используем модемы больше.

и проблема для clent базировался, веб-разработка состоит в том, что это не до разработчика, какую платформу он будет использовать, но это зависит от производителей браузера. и они изменяются медленный.

упадок сценария VB был, по-моему, своим VB-innes. слишком много ненужного материала. Что касается JavaScript это назреет, но это - запуск.

1
ответ дан 30 November 2019 в 02:03
поделиться

Я думаю, что это имеет отношение к стандартизации, потому что во время последней браузерной войны (т.е. v. netscape) было два, ECMA Netscape (+1 точка Фаната для Вас, если Вы знали, что это было настоящим именем для JavaScript), и JScript Microsoft, очевидно, ECMA (JavaScript) добился успеха и стал defacto стандартом.

Теперь, у нас есть другая происходящая браузерная война и каждый из 2 (3, если Вы считаете Chrome 12%-м FFS), крупные конкуренты 3 полностью (с несколькими пограничными случаями) поддерживают JavaScript.

0
ответ дан 30 November 2019 в 02:03
поделиться

Поддержка браузера. Если не технология MS это, скорее всего, не войдет в IE. Если это не находится в IE затем, никто не может использовать его. Если это будет технология MS, то, скорее всего, только IE будет иметь право использовать его, поскольку это будет закрытый исходный код и собственный. Если только IE будет поддерживать его затем, то только некоторые разработчики будут использовать его.

Для оспаривания JavaScript это должно работать столь же легко и более последовательно через все главные веб-браузеры. Без поддержки браузера любая новая клиентская веб-технология предназначена для сбоя.

1
ответ дан 30 November 2019 в 02:03
поделиться

Мое предположение то, что его повсеместность и простота интеграции в любом новом проекте агента пользователя. Это прибывает созданное почти во все браузеры, таким образом, Вы не должны загружать/устанавливать/настраивать ничего, чтобы иметь его выполнение. после того как Вы смотрите на агенты пользователя от рабочих столов (Wii, iPhone, Windows Mobile, n95 и т.д.), доступность любого спорения высыхает быстрый - таким образом, Вы кодируете для HTML и JavaScript becuase, это будет работать большую часть времени.

0
ответ дан 30 November 2019 в 02:03
поделиться

Я соглашаюсь с Michael, мы должны улучшить JavaScript, не волноваться о конкурентах, потому что там не будут никем, на самом деле даже Javascript 2.0 кажется так далеко от достигающей действительности.

, Так как JavaScript является таким неоднозначным языком, мы можем создать библиотеки (jQuery) и даже абстракции (Цель-J) и не волноваться по поводу всех проблем, что JavaScript имеет в его основе.

0
ответ дан 30 November 2019 в 02:03
поделиться

Спустя столько лет у нас даже нет CSS, реализованного одинаково во всех браузерах, то же самое касается JavaScript, IE имеет одну модель, а остальные браузеры имеют другую модель (я имею в виду, как Event Обработчики и присоединение событий).

Если появится новый конкурент, у него нет ни шансов, ни времени, как у css и javascript.

0
ответ дан 30 November 2019 в 02:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: