Обновить
0
0

Пользователь

Отправить сообщение
БЭМ это конечно хорошо, но мой личный опыт и опыт нескольких команд, в которых мне довелось работать, говорит вот что — БЭМ хорош, когда у вас есть ресурсы на поддержку этой методологии, если вы молодой стартап или небольшая команда, решающая большую задачу в короткий срок, он вас съест, он съест ваше время, ресурсы и заставит рутинно работать на благо будущего, котрое может не наступить (иногда именно из-за затянутых сроков разработки).

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

Я еще не видел команду, которая в здравом уме в 2018 взяла на вооружение БЭМ в реакт приложении, хотя я не исключаю большой потенциал этой методологии работаботки, однако, как я выше уже писал, вам нужны ресурсы и время, а у молодых команд иногда нет либо одного, либо второго, либо всего и сразу.
Ни разу не смог купить себе джинсы/брюки онлайн, у всех разная размерная сетка, у всех свои параметры, кто-то маркирует размер как 30/30 или 34/30, кто-то как R30, кто-то как S/M/L. Плюс у тех же Wrangler одна размерная система (плюс размер от европейских размеров и тп) и такая ситуация у многих. Онлайн можно взять если вы померяли в магазине и купили онлайн, это пока единственный способ попасть в длинну/ширину.

Пару лет назад хотел купить кажаные кроссовки Adidas, посмотрел размер на языке — 41, заказал 41, пришел 43. Звоню в официальный магазин, и, на вопрос «почему?» мне говорят — на языке написан европейский размер, а в магазине, так как он в России, мы пишем русский размер и поэтому он не совпадает.
Куда вы воткнете проводные наушники в iPhone 7 и выше, если, как я писал ранее, у вас телефон на зарядке?
Ответ очень прост — шлем. Вы можете использовать AirPods или другие беспроводные наушники, однако это бред — иметь EarPods и не иметь возможности ими пользоваться во время зарядки
Посмотрите на Spotify и Apple Music и вы поймете на сколько этот рынок велик, даже не так — он огромен.
Соглашусь пожалуй, однако описанный мной кейс справедлив и для пеших походов и прогулок. Воткнув powerbank вы лишаете себя возможности просто послушать музыку.
Есть места, где вы можете не беспокоится об этом. Парки, лесные зоны и так далее, там нет пешеходов и автомобилей, вы можете просто ехать и никому не мешать :-)
Вы знаете да, на выходных катался на велосипеде и в какой-то момент телефон начал разряжаться, печали не было предела, когдя я воткнул зарядку в телефон и понял, что наушники воткнуть теперь некуда. С одной стороны понятно, что Apple форсирует покупку AirPods, с другой — я не хочу наушники за 198 евро, которые звучат также, как за 50.
Почему-то после прочтения осталось послевкусие «Автостопом по галлактике» и очень близко промелькнула мысль, что это путь Воганов.
Вот это выглядит минимум странно, я уже молчу о том, что у вас чекбокс хранит внутри себя состояние checked, что в целом он делать не должен, а если должен, то должен выполнять проверку на изменения.
<InputCheckbox name="remember" value="yes" />


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

Ваш код не проходил код ревью, советую сделать, а также докинуть eslint и, ставший уже стандартным, пакет гайдов от всем известной компании.

Чем вам Formik + Yup не угодил? В вашем кейсе не вижу решения для стилизации и кастомизации. Например мне нужно React-Select упаковать в вашу форму, как мне это сделать?

Форма логина на связке Formik + Yup выглядит куда более читаемой

import React from 'react';
import { View, Dimensions } from 'react-native';
import { Formik } from 'formik';
import * as Yup from 'yup';
import { TextInput, Button } from '../components';

const validationSchema = Yup.object().shape({
  username: Yup.string()
    .min(4, 'Too Short!')
    .max(24, 'Too Long!')
    .required('Required'),
  password: Yup.string()
    .min(6, 'Too short password')
    .max(30, 'Too long')
    .required('Required'),
  securityCode: Yup.number()
    .min(99999, 'Too Short!')
    .max(999999, 'Too Long!')
    .required('Required'),
});
const { width } = Dimensions.get('window');

const LoginForm = componentProps => (
  <Formik
    validationSchema={validationSchema}
    initialValues={componentProps.initialValues}
    onSubmit={componentProps.onSubmit}
    validateOnChange={false}
    validateOnBlur={false}
  >
    {props => (
      <View style={{ width, padding: 10 }}>
        <TextInput
          placeholder="Username"
          returnKeyType="done"
          onChangeText={props.handleChange('username')}
          error={props.errors.username}
          onBlue={props.handleBlur('username')}
          value={props.values.username}
        />
        <TextInput
          secureTextEntry
          placeholder="Password"
          returnKeyType="done"
          onChangeText={props.handleChange('password')}
          error={props.errors.password}
          onBlue={props.handleBlur('password')}
          value={props.values.password}
        />
        <TextInput
          error={props.errors.securityCode}
          keyboardType="number-pad"
          returnKeyType="done"
          placeholder="Google Authentication code"
          onChangeText={props.handleChange('securityCode')}
          onBlue={props.handleBlur('securityCode')}
          value={props.values.securityCode}
        />
        <Button
          secondary
          rounded
          style={{ alignSelf: 'stretch', marginTop: 35 }}
          caption="Login"
          onPress={props.handleSubmit}
        />
      </View>
    )}
  </Formik>
);

export default LoginForm;

Выкладывали очередное приложение пару месяцев назад — никаких проблем. От отправки до публикации в сторе менее 4х дней, мы являемся разработчиками уже более 5-ти лет. Минимум вопросов, если вы соблюдаете гайды и правила. 0 реджектов, просто будьте внимательны.
вот же todomvc.com
положили, просто напишите на Kivy Todo лист и положите туда
Я адепт уместных инструментов. Наша компания работает как с Unity 3D так и с Monogame, вам тут уже пару раз намекнули о том, что нужно уже слезать с танка и перестать махать флагом.
В вашем «примере» отстутвует фаза управления состоянием и именно поэтому он проще :-) добавьте — мы хотим посмотреть на аналогичный пример архитектуры.
Вы слишком категоричны, каждый инструмент предназначен для своей аудитории. Никому в голову не взбредет делать на React Native 3D платформер, например, все пойдут в Unity или в Monogame.

По поводу того же react-native я скажу вам так — всю вашу статью можно заменить на

$ npm install -g create-react-native-app
$ create-react-native-app my-app
$ cd my-app/
$ npm start


И ваша вода вокруг блоков с кодом не потребуется.

Unity 3D также потребует от вас только старта проекта в конструкторе для запуска Hello world.

А вот если бы вы сказали, что «здравствуйте питонисты, теперь мы можем писать приложения на любимом языке», то думаю статья была бы более дружественной и ваш материал оценили бы по достоинству.
Вы не поверите, но теперь спать будет тот, кто заказал установку этой системы.
потерто, что ж делать :-)

p.s. спасибо за дайджесты
можно всю статью тогда картинкой разместить
Что вы предлагаете взамен? Cordova?

Информация

В рейтинге
Не участвует
Откуда
Лимассол, Government controlled area, Кипр
Дата рождения
Зарегистрирован
Активность