Облако для моего приложения: путешествие начинается
Как независимый издатель и автор, я был разочарован отсутствием доступных инструментов для простого вывода документов Microsoft Word в форматы электронных книг. Конечно, на рынке есть некоторые решения с открытым исходным кодом или дешевые решения, но вот в чем дело: им не хватает профессиональной полировки и высококачественного вывода, необходимого авторам для создания исключительного опыта для своих читателей. Вот почему я создал приложение под названием Optical Authoring eBook Toolkit. Мое приложение позволяет авторам создавать соответствующие стандартам документы ePub, Kindle и XHTML из Microsoft Word. Он предлагает множество функций, которые независимые авторы и издатели просто не могут получить с бесплатными продуктами с открытым исходным кодом, представленными на рынке сегодня.
Получение SaaS-y
Я написал код eBook Toolkit, используя язык программирования Microsoft C#. Надстройка — это то, что Microsoft называет решением Visual Studio Tools for Office (или VSTO). Решение VSTO работает только в Microsoft Word для Windows, поэтому, если я хочу, чтобы мое приложение было доступно на Mac, iOS, Android и Windows, мне нужно перенести весь мой код на новую технологию, которую Microsoft называет веб-надстройкой. в.
Конечно, я хочу, чтобы мой продукт работал , а это значит, что я не собираюсь ограничиваться только созданием надстройки Office Web. Мое приложение должно работать в любом браузере и, если я того пожелаю, как отдельное приложение. Прямо сейчас я сосредоточил свои усилия на перемещении всей моей бизнес-логики и элементов пользовательского интерфейса в Интернет. Этот тип приложения называется (или ).
Разработка решения
В обозримом будущем мое приложение будет сосредоточено на преобразовании файлов Microsoft Word в высококачественные публикации ePub и Kindle. Для этого мне придется взять всю бизнес-логику, заблокированную в настоящее время в моем приложении C#, и перенести ее в решение веб-сервиса. Я планирую продолжать использовать C# для приложения, поэтому, похоже, Azure — лучшее место для размещения моего приложения. Я буду использовать Visual Studio для создания всех необходимых мне сервисов.
В идеале мое приложение — это веб-сайт с набором API, которые выполняют различные этапы преобразования. Я все еще изучаю точный подход к использованию этого приложения, но вот то, что мне нравится называть , которая излагает основные концепции того, как мои приложения будут работать:
Об этой продолжающейся серии
На данный момент я понятия не имею, как долго продлится эта серия, но я буду регулярно писать то, что узнаю. Вы, вероятно, должны ожидать, что некоторые статьи будут очень техническими, в то время как другие посвящены процессам, дизайну продукта и инфраструктуре. Я отношусь к этим статьям как к дневниковым записям, так что вы узнаете то, что узнаю я по ходу дела.
Как эта серия поможет вам
Надеюсь, вы найдете эти статьи полезными для своей повседневной работы или для тех поздних ночей в гараже, где вы создаете следующее отличное приложение.
Если вы пишете приложение для облака или рассматриваете возможность миграции в облако, то я надеюсь, что мой опыт вам чем-то поможет. Если вы зайдете на веб-сайт Microsoft MSDN, ориентированный на разработчиков, вы найдете множество информации, которая покажет вам все тонкости создания веб-приложения. К сожалению, неясно, как вы создаете это приложение и какие технологии вам нужно изучить. Это не вина Microsoft, потому что ваше приложение может делать что угодно. Приложение может быть простым, например, конвертировать выделенный текст на другой язык с помощью Google Translate. Ваше приложение также может быть невероятно сложным, например, интегрировать финансовую систему SAP с базой данных Salesforce.
Теоретически мое приложение звучит довольно просто: возьмите файл и преобразуйте его в формат электронной книги. На самом деле файлы электронных книг довольно сложны, как и сам формат Microsoft Word. До сих пор мне приходилось изучать C#, XHTML, XML, стандарты W3C ePub, JSON (для моего сервера лицензирования), Linq, Office OpenXML и различные другие языки, фреймворки и SDK. Теперь мне нужно научиться создавать облачные веб-сервисы и API.
Хватит фона, давай шоу!
Это первая статья, которая дает вам некоторое представление о моих планах. Будущие статьи будут больше похожи на журнальные, и я надеюсь, что вы чему-то научитесь по ходу дела. Вот некоторые из тем, которые я планирую осветить в следующих статьях:
- Архитектура решения: как я планирую создавать приложение и технологию, которую планирую использовать.
- Создание веб-надстроек Office. Хотя я хочу, чтобы мое приложение работало на любом устройстве, с моей стороны было бы глупо не использовать технологию надстроек Office Web, потому что это открывает мой продукт для использования в Магазине Microsoft, где я будет иметь готовую аудиторию.
- Дизайн продукта. Мой продукт потребует от пользователя определенных функций, поэтому я расскажу, как я планирую разработать приложение для использования на различных платформах.
Если есть что-то, что вы хотели бы узнать по пути, оставьте примечание в разделе комментариев, и я обещаю сделать все возможное, чтобы поделиться тем, что я узнаю.
У меня сильный опыт в области ИТ, разработки программного обеспечения и управления продуктами, но я бы не стал считать себя разработчиком в первую очередь. Это означает, что я могу публиковать вещи, которые некоторые могут не считать лучшими практиками. Я ценю ваши отзывы и обещаю слушать и учиться, но, пожалуйста, не будьте слишком строги ко мне?