home.social

#codegen — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #codegen, aggregated by home.social.

fetched live
  1. Yea, this is definitely the future...

    It solved the part I had issues with though (aka told me the correct commandline parameter for git). (If it would actually work...)

    But still wtf passing the token via cmd argument "if you don't want the token to appear in the process list". yea-nah...

    #AI #codegen

  2. Yea, this is definitely the future...

    It solved the part I had issues with though (aka told me the correct commandline parameter for git). (If it would actually work...)

    But still wtf passing the token via cmd argument "if you don't want the token to appear in the process list". yea-nah...

    #AI #codegen

  3. Делаем модуль на C++ для приложения React Native

    Я не планировал переписывать приложение React Native на C++ . Большая часть приложения прекрасно работала на TypeScript: экраны, формы, валидация, навигация, логика продукта — все это находилось именно там, где нужно. Проблема была более узкой и специфичной: нам нужно было, чтобы один фрагмент логики работал с производительностью, близкой к нативной, оставался общим для Android и iOS и при этом был доступен из JavaScript через обычный типизированный API. Поначалу все звучало слишком просто. Написать интерфейс на TypeScript, позволить Codegen генерировать контракты, перенести основную логику на C++, зарегистрировать модуль на обеих платформах и использовать его из React Native как любой другой модуль. Спойлер: да, это работает. Чистый модуль Turbo Native на C++ действительно может дать вам одну реализацию для Android и iOS, типизированную границу через Codegen, меньшие накладные расходы, чем у старого Bridge, и удобный способ повторного использования существующего кода на C или C++ внутри приложения React Native. Спойлер номер два: код на C++ — это не самая сложная часть. Самое сложное начинается вокруг: CMake, NDK, Xcode, Objective-C++, время жизни среды выполнения JSI, регистрация модулей, границы потоков, владение памятью, обработка ошибок, сборки Expo, сторонние библиотеки и вопрос, который никто не хочет задавать слишком поздно — действительно ли этот модуль должен быть нативным? В этой статье я подробно расскажу о создании C++ Turbo Native модуля для React Native: где этот подход полезен, где он добавляет скрытые затраты на поддержку, чем отличается регистрация для Android и iOS, почему важна обертка TypeScript и почему сам TurboModule должен оставаться «тонким».

    habr.com/ru/articles/1064564/

    #React_Native #C++ #TurboModules #JSI #TypeScript #Codegen #Android_NDK #CMake #Xcode