1. JavaScript / Говнокод #25187

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    коммит на гитхабе:
    https://github.com/nativescript-vue/nativescript-vue.org/commit/f964457a5e4944864485c7194b0b5d850f8edb67
    русская документация:
    https://nativescript-vue.org/ru/docs/routing/manual-routing/#navigateto
    английская документация:
    https://nativescript-vue.org/en/docs/routing/manual-routing/#passing-props-to-the-modal
    
    угадайте, какой вариант передачи пропсов рабочий ?

    #SEO документация, JS.

    Запостил: хуита, 13 Декабря 2018

    Комментарии (76) RSS

    • Анус у тебя рабочий.
      Ответить
    • Люди, делающие нативные приложения на js, заслуживают любую форму саботажа их рабочего процесса.
      Ответить
      • Расскажи на чём быстро делать приложения сразу под гейфон и ведро?
        ключевые слова тут "быстро" и "сразу".
        Ответить
        • Статья в тему https://daringfireball.net/2018/12/electron_and_the_decline_of_native_apps
          > Расскажи на чём быстро делать приложения сразу под гейфон и ведро?
          Нативные приложения разрабатываются с оглядкой на аппаратное обеспечение, общепринятые практики в UI и UX выбранной платформы. "Кроссплатформенный" UI - это компромисс, который убог на всех платформах
          > ключевые слова тут "быстро" и "сразу"
          Я слышал, что приложения разрабатывают для клиентов, которые будут их использовать, а не для программистов, которые их напишут. "Быстро" и "сразу" - принципы говнопроектов на фрилансе/говностартапов, которые по дефолту мало кому интересны. Поделки на электроне и иже с ними, которые по какому-то недоразумению стали популярны - приносят боль и пользователям, и программистам.
          А по теме - мой клиентский js по умолчанию отключен на любых мобильных платформах, поэтому не знаю. Flutter, React Native, Nativescript - разрабатывай на чем хочешь, ничего против не имею.
          My point - твои проблемы при разработке - лишь слабая моральная компенсация проблем будущих пользователей и разработчиков, которые это говно должны будут поддерживать.
          Ответить
        • Qt же.
          >"быстро"
          У них фреймворк так и называется - "QtQuick"
          Ответить
        • На жопоскрипте. Их можно выполнить веб-браузером.
          Ответить
      • показать все, что скрытоvanished
        Ответить
    • > Want to release that app you've been dreaming about without the hassle of learning new languages? NativeScript-Vue is the right choice for you!

      А что если JavaScript для меня явлется new language? Или по мнению авторов этого говна, жабаскрипт обязаны знать вообще все программисты?
      Ответить
      • тогда и апликухи для мобилочек возможно не твое
        Ответить
        • А какое отношение апликухи для мобилочек имеют к жабаскрипту? В андроидных телефонах вообще-то Java
          Ответить
          • в Symbian с++, еще гдето может быть эзотерика какаято аля Swift или Objective-C. И каждая макака будет хвалить свое болото

            Нативный джаваскрипт позволит хоть както стандартизировать эти джунгли
            Ответить
            • А разве под Symbian есть актуальные браузеры, где всё это жабаскриптовое говно с Vue заработает?
              Ответить
          • https://github.com/NativeScript/NativeScript эта пара даёт возможность юзать ЖС парашу в ведре/гейфоне
            Ответить
          • показать все, что скрытоvanished
            Ответить
            • 1. Перечитал всю ветку. Не нашёл ни одного упоминания "JVM".

              "Java" может существовать не только на "Sun JVM" (ты ведь её имел в виду?), но и на других виртуальных машинах, а также вообще кокококонпелироваться в нативный кококод (gcj, например).

              2. "Кококококотлин" анонсировали в качестве официального языка для "Андроида" не так давно (в 2017 году).

              >> Можа взять Xamarin и писать всё на C#, это лучше

              Это лучше богомерзкого JS.

              Ещё, вероятно, можно перейти на Haxep.
              Ответить
              • показать все, что скрытоvanished
                Ответить
                • > на андроиде джавы нет
                  Что мешает её туда поставить?
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • Нахуя джаве рут? На десктопе же как-то работает от юзера.
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • Тупо приложить в apk вроде можно.
                          Ответить
                          • В apk можно вложить нативную so-библиотеку.
                            Ответить
                            • Бинарь разве нельзя? Хотя на линуксе бинарь с динамической линковкой почти ничем не отличается от библиотеки...
                              Ответить
                        • В самом крайнем случае можно приложить JVM в виде so и пнуть джаву(!) через "JNI"(!). Это 100% должно прокатить.

                          З.Ы. Кстати, а как они переименовали JNI чтобы в нём не было упоминаний о джаве?
                          Ответить
                          • Гугли NDK — native development kit.

                            https://developer.android.com/ndk/guides/
                            Ответить
                            • Ну ты реально думаешь, что я про JNI не знал?

                              Вопрос в том, можно ли приложить бинарь в APK и запустить его из "джавы".

                              Собрать его само собой можно, я так себе sudo конпелял чтобы непонятные руткиты не ставить.
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                                • Ну зачем в /bin то? Я всего лишь имел в виду написать прогу на джаве и приложить её в APK вместе с JVM и ланчером на "джаве"... А API операционки дёргать через джвойное JNI. Для этого права не нужны.
                                  Ответить
                                  • Посмотри кишки «Android Terminal Emulator»:
                                    https://github.com/jackpal/Android-Terminal-Emulator

                                    У этой программы есть модуль для JNI, который делает fork и execv:
                                    https://github.com/jackpal/Android-Terminal-Emulator/blob/master/libtermexec/src/main/jni/process.cpp

                                    Программа может насрать на карту памяти и запустить процесс с неё.
                                    Ответить
                                    • Думаешь после твоего сегодняшнего спама ты не в игноре?
                                      Ответить
                                      • Я вообще не думаю. Именно поэтому я за «PHP».

                                        Сёма меня каждый день скрывает, но только почему-то всё равно видит.
                                        Ответить
                                    • С карты памяти (если она отформатирована в «FAT») по умолчанию ничего нельзя запустить. В «FAT» отсутствует атрибут «исполнимый», именно поэтому я за «FAT». Нужно или перемонтировать раздел со специальным параметром, чтобы все файлы стали исполнимыми, или выкладывать их, например, в /data/local/tmp и запускать уже оттуда.
                                      Ответить
                                      • Под ext2 флешку можно отформутировать?
                                        Ответить
                                        • Можно. Я даже разбивал флешку на два раздела, первый форматировал в FAT, второй — в ext2 или в ext4 (точно не помню), чтобы сделать ссылки с внутренней памяти на внешнюю, ибо внутренняя была забита.

                                          Есть даже программы, которые помогают использовать флешки, отформатированные в ext2 (Link2SD, FolderMount).
                                          Ответить
                                        • У меня возникла идея apk-приложения:
                                          1. Приложение отображает текстовое поле.
                                          2. К принятой от пользователя текстовой строке приклеивает заголовок, чтобы получился elf-файл.
                                          3. Сохраняет полученный файл в /data/local/tmp и устанавливает атрибут «исполнимый».
                                          4. Через JNI вызывает execv.

                                          Тогда на «Андроиде» можно будет развлекаться написанием нативного кода в ASCII.
                                          Ответить
                        • Рут нужен, чтобы поставить нативное приложение в директорию /bin

                          Можно без рута через рекавери, если у тебя есть ключ разработчика для подписывания файла update.zip (фантастическое условие). Можно и без подписи, если у клиента не нормальное меню рекавери, а CWM/TWRP, в котором можно выключить проверку подписи.
                          Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • А как ещё ты обновишь busybox? Многие производители мобилок ставят урезанный, в котором половина команд отсутствует.

                              Или ты критикуешь рахитинктуру Андроида? На это тоже есть причины: если бы нативные экзешники ставились в один клик, вирусов было бы как на Винде.
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                                • Меня покусал Сёма. Обновил прошивку вроутера (поставил последнюю официальную), теперь не могу зайти на него ни телнетом, ни по ssh. И телнет, и ssh стали отвергать любые пароли (и дефолтный, и тот, который стои́т в веб-морде).

                                  В принципе, почти всё настраивается через веб-морду. Просто было интересно очередной бизябокс полапать.

                                  Погуглил — у всех такая же проблема. В старой прошивке телнет работал, в новой паршивке телнет сломали.
                                  Ответить
                • Джавы нет, но вы держитесь.
                  Ответить
                • >> Нет, я имел ввиду что ART это не Java.
                  >> Есть транслятор .class файлов в код под ART.

                  Пожалуй, придётся согласиться. На Андроиде есть какая-то своя хрень с классами и с библиотекой, а из какого языка кококонпелировать (из Java, из Кокококотлина или ещё из какого-нибудь) — это забота разработчика.

                  ART и доживающая свой век машина Dalvik — регистровые, а Sun JVM — стековая (как и CLR, кстати). То есть даже рахитинктура несовместимая.

                  Можно было бы сказать, что и на J2ME никакококой Java нет (на телефоне коконпеляторов не было, а у разработчиков кроме javac ещё были MIDlet Pascal, Canterbury Modula-2 и прочие кококонпеляторы с других языков), но не получается, потому что J2ME частично совместима с J2SE. Так?

                  >> Вообще я не знаю какие могут быть причины для писания на JS кроме незнания никакого другого языка.

                  Отсутствие кококонпеляции. Именно поэтому я за "PHP".

                  А ещё куча говна в "npm". Помнишь, как дельфятники вместо того, чтобы писать кококод, гуглили готовые кокококомпоненты?
                  Ответить
                • >> На андроиде джавы нет.

                  Полез читать документацию по NDK. Встретил там упоминание JNI:
                  https://developer.android.com/training/articles/perf-jni

                  Как же так, Марьиванна, жопа есть, а слова нет?
                  Ответить
                • > Нет, я имел ввиду что ART это не Java. Я постоянно слышу как ART называют джавой и у меня от этого глаз дергается.

                  > На андроиде джавы нет. Ни компилятора, ни виртуальной машины.

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

                  Или вот если взять какой-нибудь дохлый 8-битный микроконтроллер - в него например не выйдет запихнуть некоторую фигню, которая в стандарте Си описана (типа каких-нибудь https://en.cppreference.com/w/c/thread ) - так что теперь, это уже не Си? А если я на контроллере реализовал интерпретатор брейнфака, и реализовал компилятор из Си в брейнфак и потом в микроконтроллер с интерпретатором брейнфака заливаю откомпилированную из Си в брейнфак хуйню, то это не Си?
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                    • > Ты пишешь на любом языке который компилируется под JVM, а оттуда он компилируется в код под ART.

                      Но ведь и под HotSpot JVM (JVM расшифровывается как Java Virtual Machine) можно не на Java писать. Так что ж тогда получается, в официальной и основной JVM от оракла тоже нет никакой джавы? А где она вообще есть?
                      Ответить
                    • > Си, но никто же не говорит что в браузере у тебя си, верно?

                      Кстати, меня ведь и в процессоре никакого Си нет, в процессоре только машинный код исполняется.
                      Ответить
                      • Ну да, такова судьба конпеляторов. То ли дело "PHP".
                        Ответить
                      • Именно поэтому я за лисп-машины или форт-машины.


                        Куплю лисп-машины CONS или CADR дорого в любом состоянии.

                        Телефон: зарегестрируйтесь чтобы просмотреть контакты
                        Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • > Можно получить код под ART, минуя байткод JVM?

                        https://en.wikipedia.org/wiki/Android_Runtime

                        > Android Runtime (ART) is an application runtime environment used by the Android operating system. Replacing Dalvik, the process virtual machine originally used by Android, ART performs the translation of the application's bytecode into native instructions that are later executed by the device's runtime environment

                        > Unlike Dalvik, ART introduces the use of ahead-of-time (AOT) compilation by compiling entire applications into native machine code upon their installation.

                        Ну если транслируется в native instruction, то естественно можно. Например на ассемблере каком-нибудь.
                        Ответить
                        • Хотя если верить этому https://source.android.com/devices/tech/dalvik

                          > At install time, ART compiles apps using the on-device dex2oat tool. This utility accepts DEX files as input and generates a compiled app executable for the target device. The utility should be able to compile all valid DEX files without difficulty. However, some post-processing tools produce invalid files that may be tolerated by Dalvik but cannot be compiled by ART. For more information, see Addressing Garbage Collection Issues.

                          трансляция в машинный код происходит на этапе установки в андроид, а не на этапе сборки APK. Выходит, все же надо чтоб был DEX bytecode. Ну на нем тоже можно программировать и компилировать в него, минуя байт-код Java

                          https://xakep.ru/2014/07/03/art-vm/ еще вот
                          Ответить
                          • показать все, что скрытоvanished
                            Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                              • > dot42 умел генерировать dex из кода на C#.

                                Не из кода C# а из дотнетовского байткода Common Intermediate Language (CIL, ранее назывался Microsoft Intermediate Language - MSIL):

                                https://habr.com/post/168689/
                                > Признаюсь, я немного слукавил, сказав, что компилятор dot42 «убирает» IL-код. Это не совсем так. Вместо этого он читает IL-код и конвертирует его в новый язык Register Language или, если короче, RL. Главная разница между IL и RL в том, что IL-код работает на стековой модели выполнения (как и байт-код у Java), а RL-код на регистровой, так же как Dalvik. После получения RL-кода, dot42 производит ряд оптимизаций и наступает этап финальной компиляции. Именно после последнего этапа и получается dex-код, язык среды Dalvik. В чем отличие RL от Dex написано в самом первом посте в блоге разработчиков.
                                Ответить

    Добавить комментарий