Существуют ли какие-либо руководства по преобразованию между платформами Javascript?
-
23-08-2019 - |
Вопрос
У меня есть библиотека выбора даты, написанная для MooTools, которую я хочу перенести на Prototype.Это, похоже, долгая и трудная задача, и мне интересно, видел ли кто-нибудь или написал руководства по различиям между ними.Своего рода словарь перевода, где я могу найти функцию Moo и увидеть эквивалент прототипа, или наоборот.
То же самое было бы неплохо и для jQuery to Prototype.
Решение
Давно хотел найти что-то подобное.Дошло до того, что мне захотелось создать свою собственную, и несколько недель назад я начал ИскусствоЛегкие Розетта, попытка создать страницу «Hello World» с различными техниками во многих крупных библиотеках.Эта работа еще продолжается.
Однако, несколько недель назад я наткнулся на этот ОТЛИЧНЫЙ ресурс от Маттиас Шютц. Матрица сравнения библиотек JavaScript.На этом справочном сайте есть сравнение синтаксиса со ссылками на соответствующую документацию для: DOM готов, Основы DOM, DOM-фильтрация, Манипуляции с DOM, Последствия, Переходы, События, Пользовательские функции, Аякс, и Классы.
Мне нравится сравнивать подходы к различным библиотекам — я обнаруживаю, что много узнаю о самих библиотеках, а также о своем собственном стиле программирования и о том, как я могу его улучшить, выполняя одну и ту же задачу в нескольких средах.
Другие советы
Я попробую это сделать.Если вы не нашли никаких ресурсов после тщательного поиска в Google, я бы сказал, что вы застряли, просто открывая API каждого из них, просто просматривая их взад и вперед и просматривая примеры.
На самом деле я сейчас перехожу от прототипа к jQuery в проекте.(В стороне:Я гораздо больше доволен тем, что jQuery какое-то время использовал оба варианта.) Мой основной рабочий процесс — это просто обращение к API по мере необходимости.
Я был бы удивлен, если бы существовало такое сопоставление одного с другим.В любой структуре существует множество способов выполнения любой задачи, и, кроме того, они работают разными и важными способами.Конечно, есть некоторое соответствие 1:1, например «addClass» и «addClass».«addClassName», но манипулирование DOM в jQuery обычно работает с наборами элементов (которые могут быть просто набором из 1), тогда как Prototype работает с отдельными элементами (которые могут быть обернуты операторомeach для работы с наборами).
К счастью, оба имеют довольно хорошие и простые в использовании/справочные API.
Удачи.
Как упоминал Кейт, между функциями, предоставляемыми библиотеками, нет соответствия 1:1.
Еще важнее:разные рамки требуют разного мышления.Речь идет совсем не о переименовании функций, а скорее о написании кода в стиле другого фреймворка.Думая типа: «Каким образом jQuery это сделает?»
Если вы переносите код из фреймворка A в B и не очень хорошо знаете B, вы легко можете получить что-то довольно уродливое.
Я не могу придумать никаких руководств по конвертации.Но в блогах было несколько сообщений «Библиотека1» и «Библиотека2», в которых библиотеки сравнивались и противопоставлялись.Вероятно, стоит найти их и прочитать.