• Like
Bullshit on rails
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Bullshit on rails

  • 1,880 views
Published

С 2008 года в экосистеме рельса так и не произошло существенных изменений в плане построения контент и медиа проектов - время идет, а как и прежде все приходится делать с нуля и самому. Обещания о …

С 2008 года в экосистеме рельса так и не произошло существенных изменений в плане построения контент и медиа проектов - время идет, а как и прежде все приходится делать с нуля и самому. Обещания о том, что на рельсах можно пачками делать простые проекты - несостоятельны. В скринкастах Блог за 15 минут - нам обещали другое ))

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,880
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
4
Comments
0
Likes
6

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. bullshit on rails или Блог не за 15 минут Илья Зыкин
 github.com/the-teacher
  • 2. Мой персональный взгляд на проблемы экосистемы Ruby on Rails по отношению к Тематическим, Медиа и Блого проектам
 
 
 Расскажу о тех проблемах и трудностях с которыми сталкиваются разработчики при построении контент- ориентированных проектов, какие задачи не решены и что можно сделать с сфере open source тем, кто хочет внести свой вклад, но не знает с чего начать
 D2
  • 3. Миссия% ! 1. Обозначить проблемы экосистемы 2. Дать информацию о нерешенных задачах 3. Привлечь junior и middle разработчиков к решению проблем D3
  • 4. Много лет Rails продвигал идею "Блог за 15 мин"
 (2006 — 2010)
 
 Как они это сделали? 1. Простые модели и AR 2. Скаффолдинг (контроллеры, вьюхи) 3. Веб-сервер из коробки 4. Гемы. Собери все что хочешь! 5. No deploy! :) D4
  • 5. Результат 1. Wow-эффект! 2. Много поклонников 3. Активность в создании гемов 4. Enterprise принял rails D5
  • 6. Блог за 15 мин на Rails% 
 Bullshit! D6
  • 7. Я могу собрать себе CMS на rails за 3 дня
 Bullshit! D7
  • 8. Я могу быстро сделать на Rails
 сложный (production ready) сайт
 Bullshit! D8
  • 9. Но почему? (rails scope) ! 1. Практически нет production-ready гемов 2. "Отцы-основатели" rails open source уходят 3. Нет эффективных принципов для делигирования управления гемами 4. Новые гемы практически не разрабатываются 5. Задачи бизнеса ушли вперед. Экосистема Rails стоит на месте 6. Хорошие решения скрыты NDA 7. Деплой по-прежнему проблема (Рельсу вот вот 10 лет) D9
  • 10. Тот, кто хочет сделать блог на Rails,% еще не делал блог на Rails D10
  • 11. К черту сопли, дайте примеры! D11
  • 12. Сделаем блог для пары пользователей?!
 
 Это ведь должно быть просто! D12
  • 13. 1. Design/Bootstrap 2. Пользователи. Devise. Ок 3. Роли. (Тема 1) 4. Страницы. Ок 5. Состояния [draft | published | restricted | banned]
 + callbacks для счетчиков или уведомлений
 => StateMachine (Тема 2) D13
  • 14. 6. Категории статей. Дерево? ActsAsNestedSet? (тема 3) 7. Комментарии
 Многоуровневые? Санитайз? Препроцессинг? (тема 4) 8. Главная картинка поста. Кроп? (тема 5) 9. Загрузка файлов для использования в контенте. (тема 6) 10. Метаданные для социальных сетей (тема 7) 11. Теги (тема 8) 12. Deploy (тема 9) D14
  • 15. Тема 1. Роли ! 1. Де-факто стандартом является CanCan 2. Ryan Bates - “мертв”... или уехал в Тибет 3. CanCan сделан программистом для программистов
 4. Многие хотят управлять ролями из админки ! ACL9? pundit? declarative_authorization?
 (same shit) D15
  • 16. Проблемы Экосистемы 1. Ключевой участник сообщества пропал 2. Нет эффективных механизмов поддержания гемов, если автор не активен 3. Практически нет популярных альтернатив 4. Стагнация идей, подходов и решений D16
  • 17. Тема 2. Управление состояниями и колбэками
 1. Де-факто стандартом является StateMachine 2. Aaron Pfeifer (PluginAWeek) - “мертв”... или уехал в Тибет 3. Качественную альтернативу придумать весьма сложно. Вероятно и не надо D17
  • 18. Проблемы Экосистемы 1. Ключевой участник сообщества пропал 2. Нет эффективных механизмов поддержания гемов, если автор не активен D18
  • 19. Тема 3. Категории статей. ActsAsNestedSet ! На ActsAsNestedSet базируются: каталогизация, комментарии и многое другое, что требует структуры в несколько уровней 
 
 “Тупые” реализации вида
 Category + SubCategory + SubSubCategory
 в расчет не берем D19
  • 20. Техническая проблема 1. Никто не умеет быстро “рисовать” большие деревья* 2. Для управления деревьями нет GUI ! Проблемы Экосистемы 1. Имея отличную базу для создания прикладных решений, таких решений никто не делает 2. Отсутствуют необходимые для построения приложений компоненты (гемы) D20 * от 200 элементов и 3-х уровней
  • 21. Тема 4. Комментарии 1. Многоуровневые * 2. Санитайз (<script>alert(“Egor Homakov”)</script>) 3. Препроцессинг (ссылки, nofollow, разметка, смайлики, фотки) 4. Антиспам (Yandex Antispam, Akismet) 5. Админка ! Нет и не предвидится гемов реализующих эти требования
 
 * Никто не умеет рисовать деревья (Тема 3) D21
  • 22. Проблемы Экосистемы ! 1. Никто не создает гемы для решения популярных задач 2. Нет причин создавать комплексные решения для Экосистемы D22
  • 23. Тема 5. Кроп ! Обрезка картинки - одна из самых популярных задач: Аватарки, Тизеры ! Нет решения этой задачи из гема% 
 PS: решение задачи обычно требует не менее 1 рабочей недели, т.к. это фулл-стек задача JS+Rails+ImageMagick D23
  • 24. Проблемы Экосистемы ! 1. Никто не создает гемы для решения популярных задач
 2. Нет участников сообщества которые любят решать
 full stack задачи
 3. Нет причин создавать комплексные решения для Экосистемы D24
  • 25. Тема 6. Файловое хранилище ! 1. Централизованное и каталогизированное хранилище разнотипных файлов 2. Обработка файлов в зависимости от типа 3. Интерфейс управления и получения URL файла для использования в контенте D25
  • 26. Проблемы Экосистемы ! 1. Нет решения этой задачи из гема 2. Нет причин создавать комплексные решения для Экосистемы 3. Попытки создать подобные решения сводятся к подгонке задачи под WYSIWYG 4. Стагнация идей, подходов, решений
 5. Нет участников сообщества решающих full stack задачи D26
  • 27. Тема 8. Теги
 Де-факто стандартом является ActsAsTaggableOn
 
 Однако, простая задача которую успешно решал гем несколько лет назад успела измениться. Решение стоит на месте.
 
 Нет никакой надежды, что в ближайшее время появится альтернатива, соответствующая современным требованиям D27
  • 28. Проблемы Экосистемы ! 1. Реализация задачи не соответствует текущим реалиям 2. Нет явных причин создавать комплексные решения для Экосистемы 3. Стагнация идей, подходов, решений
 4. Нет участников сообщества решающих full stack задачи D28
  • 29. Тема 9. Deploy
 Де-факто стандартом является Capistrano. (И это хорошо)
 
 1. За 10 лет сообщество так и не договорилось о единой деплоилке подходящей для большинства проектов 2. Деплой-скрипт каждый раз начинается с нуля или вычленении рецептов из старого проекта 3. Разработчики и теперь делают capify . прямо в проект 4. Создание DeployTool для нового проекта - отдельная многодневная задача D29
  • 30. Проблемы Экосистемы ! 1. Нет простой общепринятой схемы решения задачи деплоя
 2. Пути организации деплоя, описанные в блогах выглядят не оптимальными с точки зрения поддержки и должны быть пересмотрены (ИМХО) D30
  • 31. Человеческий фактор ! 1. Страх. Они увидят мой код и будут смеяться надо мной
 2. “Исключительность”. Только я умею это делать. Это моё превосходство и конкурентное преимущество
 3. Подверженность информационному шуму D31
  • 32. Тот, кто хочет сделать блог на Rails,% еще не делал блог на Rails
 
 Будьте готовы решить не только задачи по созданию самого блога, но и ряд базовых проблем Rails экосистемы, которая не готова предложить практически ничего для создания качественной блого-системы D32