Pull to refresh
0
0

User

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

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

Я еще не видел команду, которая в здравом уме в 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.

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

Information

Rating
Does not participate
Location
Лимассол, Government controlled area, Кипр
Date of birth
Registered
Activity