Pull to refresh
0
0
Send message

EX Machina и Механойды клоны-последователи так сказать, вторые ближе сюжеткой к вангерам, но такого мира как в оригинале нет нигде.

Используем quasar для мелких приложений под андроид. С их шаблоном и в WebStorm в принципе проверки есть, не всегда угадывает, но 70% где то (иногда цепляет непонять откуда). eslint-plugin-vue, @vue/eslint-config-typescript должны в принципе работать.
Не очень понимаю что значит плохо оптимизирован по ts, если всё равно всё в js соберётся. Классы опять же никуда не денусть и в тройке можно будет так же писать. (Отказались от своего Class API предложения)
Ну и мне проще работать с классами как я это делаю в других языках.
С typescript есть куча приятных мелочей, например vuex-module-decorators.

Стор:

import Vue from 'vue';
import Vuex from 'vuex';
import VuexPersistence from 'vuex-persist';

import { AppState } from 'src/store/modules/app';

Vue.use(Vuex);

export interface RootState {
  'app': AppState
}

const vuexLocal = new VuexPersistence<RootState>({
  storage: window.localStorage,
  reducer: (state) => ({
    app: state.app,
  }),
});

const store = new Vuex.Store<RootState>({
  strict: process.env.DEV === 'true',
  plugins: [vuexLocal.plugin],
});

export function checkModuleStateExists(moduleName: string): boolean {
  const savedState = localStorage.getItem('vuex');
  if (!savedState) {
    return false;
  }

  return JSON.parse(savedState)[moduleName] != null;
}

export default store;



Модуль:

export interface AppState {
  drawerIsOpen: boolean
}

@Module({
  dynamic: true,
  name: 'app',
  namespaced: true,
  stateFactory: true,
  store: Store,
  preserveState: checkModuleStateExists('app'),
})
export class AppStoreModule extends VuexModule implements AppState {
  public drawerIsOpen: boolean = true;
}

export default getModule(AppStoreModule);


В любом компоненте можно получить доступ так:

<script lang="ts">
  import { Vue, Component } from 'vue-property-decorator';
  import AppModule, { AppStoreModule } from 'src/store/modules/app';
  import { getModule } from 'vuex-module-decorators';

  @Component
  export default class MainLayout extends Vue {
    app = getModule(AppStoreModule);
    
    get drawerIsOpen(): boolean {
      return AppModule.drawerIsOpen;
      /// или
      return this.app.drawerIsOpen;
    }
  }
</script>

Используем vee-validate, в целом всё устраивает
Возьмите технический модпак, там и кодить обычно можно и простор для автоматизации, хоть совсем автоматически хоть големами.
Есть бесплатный пакет https://github.com/Fody/Fody
Как раз используются аннотации для кодогенерации.
Есть такая вещь
https://en.wikipedia.org/wiki/.NET_Micro_Framework
Да нет, современные игры вполне достойного качества (если не брать мобильные), тут скорее момент в ностальгии некоторой.
Использовал Hangfire для управления задачами клиентских парсеров инстаграмма и для запуска всяческих процессов. Приложение на asp mvc.

Information

Rating
Does not participate
Registered
Activity