Как стать автором
Обновить
13
0
Павел Носович @forcewake

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

Отправить сообщение
Зачем это здесь? Никакой полезной нагрузки данная статья не несёт.
Автор, мы очень рады, что вы решили примкнуть к стройному ряду .net разработчкиков, но, поверьте, этот опус не нужен.
Ваш комментарий содержит полезной информации больше, чем некоторые статьи, и не только на хабре. Спасибо за столь раскрытый ответ.
А вы, часом, не думали написать некоторое подобие туториала? Что-то на подобии React.js для начинающих (статья на habrahabr) — было бы очень полезно и информативно, учитывая ваш подход к ответам на вопросы.
Мощно. Спасибо за материал.
А был ли у вас опыт написание production level проекта на Angular 2? Было бы интересно прочитать про грабли и методы их обхода, если таковые имеются.
2016 год, TPL скоро в школу пойдет, а вы решаете, что пользовователям вашей библиотеки
асинхронность не принципиальна
?

И чтобы два раза не ходить:


Не воспринимайте близко к сердцу — если у меня появится время, обязательно пришлю вам начатый мною рефакторинг от слова «переписать». Возможно вам что-то в нем и понравится.
Я считаю, что его популярность – это целиком и полностью заслуга Angular2.

Ох-ей. Как голословно-то. Angular2 появился не так уж и давно, что ставит под сомнение такие вот голословные высказывания.
Порой мне кажется, что сама Microsoft приплачивает таким вот хейтерам, чтобы язык был у всех на виду :)
Я могу оспорить ваши цитаты из перевода.

  • TypeScript не управляется сообществом

    Вы имеете уникальную возможность пойти и прямо сейчас внести свой посильный вклад в развитие данной технологии. Путь начинается отсюда.
  • TypeScript имеет плохую совместимость с JavaScript библиотеками

    ts это надмножество js, следовательно, вы можете просто скопировать рабочее решение и использовать в ts — работать оно будет идентично. Если вам нужно чуть больше безопасности — на помощь придет tsd. Если оно устарело, чего-то не хватает, то вы можете сами это исправить и помочь другим.
  • Рано или поздно поддержка типов будет в JavaScript и тогда TypeScript окажется никому не нужным.

    Если бы вы следили за развитием языка, то увидели бы что он не вносит чего-то такого, что ломает концепции (как CoffeeScript, к примеру) — язык развивается последовательно. И я так может стать, что обещанная вами поддержка типов в js будет идентичной ts. Тогда все заиграет другими красками.
Вроде не первый день на хабре (судя поrecovery mode)
Посту под катом было бы уютнее, а коду, скорее всего, на гитхабе было бы приятнее.
А чего ж вы тогда у себя Roslyn используете?
А вы, видимо, можете похвастаться и не такими успехами в области компиляторов и программирования? Если для вас компилятор для С за 40+ дней это «достижение для студента», то можно ли увидеть ваши достижения?
А в чем, собственно, проблема? Для Vue.js открыто issue на github и люди активно что-то предлагают, например такой вариант vue-typescript
Насчёт доков и jsdoc тоже какая-то натянутая проблема — открываем typedoc, читаем и радуемся.
За это время мы привыкли друг к другу и пережили много успехов и разочарований.

А собственно где успехи, где разочарования?

Если пройтись по минусам, то тут тоже не всё так однозначно:
  1. В процессе разработки имеем дело с файлами *.ts, *.d.ts, *.map, *.js. Слишком много дополнительных файлов, что бывает неудобно, если ваш проект небольшой.
    Два последних известным всем тем, кто хоть немного сталкивался с front-end'ом. Первый, это собственно сам код (к слову, *.js -> *.ts ничего не сломает, но, думаю, вы об этом и так знаете)
  2. Не все браузеры поддерживают отладку TypeScript в консоли без лишних настроек.
    Если высказали проблему, то может как-то расширить её — с чем столкнулись, как решали? Я, например, к сожалению, не сталкивался и было бы очень интересно прочитать про опыт других.
  3. Множество нетривиальных классов. Чтобы писать код, опираясь на классы, приходится держать в голове какое свойство где находится. Например вместо одного класса Event существуют еще такие как MouseEvent, TouchEvent, KeyboardEvent и другие...
    Частично соглашусь, но с оговоркой, что вы только начали работать с языком. Впоследствии это как-то не замечается, возможно только у меня.
  4. Неявная статическая типизация. Всегда можно описать тип как any, что по факту отключит приведение к конкретному типу этой переменной.
    Не соглашусь. Это скорее feature самого языка. Кроме того, проблему всегда можно решить. Можно, например, начать с этого.
  5. Это транспайлер, что подразумевает, что мы должны всегда иметь под рукой tsc
    Если вспомнить, что мы работаем с языком, который нужно ещё компилировать — проблема как-то угасает. Дотнетчики не жалуются, что им нужен csc.exe :) Ну и не стоит забывать про то, что сейчас всё чаще и чаще всё собирается, компилируется с использованием grunt, gulp или webpack
  6. d.ts декларации поддерживаются сообществом DefinitelyTyped и часто не соответствуют текущей версии библиотеки. Либо не учитывают сложных вариантов (generic-функции, возвращаемые значения нескольких типов)
    В этом и есть весь challenge — вы можете стать частью огромного сообщества, которое изменяет мир open source. Исправили/добавили что-то — в следующий раз кто-то поможет и вам.


Впрочем, комментарий и так слишком длинный.
Спасибо за статью — кто-то обязательно подчерпнёт для себя что-то новое и интересное.
Можно. Гуглить по .NET CLR Injection, например вменяемая статья с примерами кода codeproject
Хотелось бы предупредить, что, если целитесь на подмену метода, проверяющего наличие лицензии, реализованного, скажем, с помощью LicFileLicenseProvider, то может не сработать.
В качестве реального use-case могу предложить такой вариант развития событий:
  • Новый для вас проект с большим слоем-бизнес логики
  • Поступает feature-request от business owner'a
  • Для создания общего словаря и более углубленного понимания того, что вам нужно сделать все требования оформляются в качестве таких вот Given-When-Then тестов


Пример такого теста
@ignore
Feature: UserAccess	

@web
Scenario: Try to get access to Some_Part_Of_The_Application
  Given I open 'Application_Name' application as 'User'.
  When I navigate to 'Some_Part_Of_The_Application'.
  Then Menu navigation causes exception.

Информация

В рейтинге
Не участвует
Откуда
Минск, Минская обл., Беларусь
Дата рождения
Зарегистрирован
Активность