Если вам нужно создать мобильный интерфейс, то используйте
jQuery.Mobile. Он построен поверх jQuery. Для темизации можно использовать
ThemeRoller.
Если вы ищите технологию, которая бы позволила создать одним проектом сайт для трех основных форм-факторов (desktop, phone, tablet) то вам могут помочь
мобильные возможности ASP.NET MVC 4. Если вы новичок, то для быстрого старта вы можете натравить на свою базу данных
Lyle's MVC4 FoodTruck Recipe, этот инструмент сгенерирует вам страницы для просмотра и редактирования данных из вашей БД, и эти страницы будут оптимизированы для мобильных устройств.
Если вы ищите компоненты из которых можно создать интерфейс для web, iOS, Android и Windows Phone 10, то рассмотрите
Mobiscroll.
Если вам нужно максимально точно определить устройство с которого запрашивается ваша веб-страница, то можно использовать библиотеки
WURFL или
51Degrees.
Если нужно проверить скорость загрузки сайта, то используйте YSlow. Есть desktop-версия в форме расширения для браузера и
мобильная версия. Также общий вес страницы можно вычислить с помощью прокси-сервера
Fiddler.
Если вам нужно создать RESTful веб-сервис для запроса и обновления данных, то рассмотрите протокол Майкрософта -
OData. Компания Microsoft выпустила
OData SDK, состоящий из библиотек для
Microsoft .NET Framework,
AJAX,
PHP,
Java,
C++,
JavaScript, WebOS, и
Objective-C.
Если вам нужно создать бизнес-приложение вида формы-над-данными (forms-over-data), которое по сути представляет собой интерфейс для просмотра, добавления и редактирования данных, то рассмотрите возможности технологии
Visual Studio LightSwitch. Если вы раньше писали на Delphi программки работающие с базами данных, то вам стоит посмотреть на LightSwitch, т.к. это более современная технология для решения подобных задач.
Если вам нужно создать database-driven сайт и вы не хотите использовать стек технологий Майкрософта, то рассмотрите простой и легкий в освоении фреймворк
Keystone.js. В нем есть: моделирование данных, шаблонизация представлений, роутинг для навигации, формы и их валидация, пейджинг, аутентификация пользователей, административный интерфейс как у CMS, возможность создания REST API. Для его работы нужны Node.js и MongoDB. Фреймворк построен на базе фреймворка
Express.js, который де-факто является стандартом для создания веб-приложений на Node.js. Фреймворк
Keystone.js используется по принципу паттерна проектирования Model-View-Template. Для работы с MongoDB используется object document mapper (ODM)
Mongoose. Для отображения данных используется JavaScript механизм шаблонизации
Swig. Новые проекты на базе фреймворка
Keystone.js создаются с помощью генератора приложений на основе
Yeoman (набор инструментов для автоматизации рабочих процессов разработки).
Если вам нужно создавать документы в формате PDF на Java или C#, то используйте библиотеку
iText Java library и её порт на C# -
iTextSharp library. Документация к сожалению представлена
только для Java версии.
Основное отличие PDF от HTML в том, что PDF не отделяет контент от его представления, так как это делает HTML и CSS. PDF отлично подходит для вёрстки изданий, когда важно чтобы всё было один в один строго до пикселя. Но с другой стороны такой подход затрудняет извлечение текста из PDF-документа. PDF задумывался как цифровой аналог бумаги и чернил. PDF по сути это низкоуровневое представление графики и текста.
Если вам нужно посмотреть, что происходит на TCP и IP уровнях сетевой модели, то вооружитесь сниффером
Wireshark. Если вам нужно посмотреть HTTP и HTTPS траффик, то можно использовать отладочный прокси-сервер
Fiddler.
Если вам нужно поиграть с RESTful API используйте add-on
Postman для браузера Chrome. С помощью него можно делать HTTP-запросы: GET, POST, PUT, и DELETE.
Операционные системы
OpenBSD
Если вам нужна безопасная и стабильная операционная система, то берите OpenBSD. К примеру, если вы занимаетесь
поставкой интернет-услуг (
Internet service providers) или производите
встраиваемые системы (
embedded systems), то OpenBSD подойдет. OpenBSD очень производительная система в том смысле, что старается в полной степени использовать железо на котором она работает. Система работающая на железе 1GB диска и 486 CPU может обеспечить работу DNS или веб-сервера. У OpenBSD конкурентоспособные возможности по балансировке нагрузки (load-balancer). Коммерческие аналоги для балансировки нагрузки могут стоить тысячи долларов. В OpenBSD интегрирован прекрасный файрвол, который может обеспечить контроль сетевых соединений и уберечь сервера от опасного трафика. OpenBSD может стать основой для
IDS, веб-прокси, мониторинга трафика, управления почтой, веб-сервера, LDAP или базы данных. OpenBSD можно также приспособить и в качестве настольной системы для разработчика или админа: графические интерфейсы, офисные пакеты, веб-браузеры, инструменты разработки, среды приложений, сетевые серверы, снифферы пакетов и анализаторы трафика - всё это есть в
ports collection.
Языки программирования
C++
F#
Если вам нужно провести серию трансформаций над входными данными, то лучше писать программу в функциональном стиле. Возможности
сопоставления с образцом (
pattern matching) имеющиеся в функциональных языках позволят проанализировать входные данные и выбрать соответствующую трансформацию для этих данных. Функциональное программирование обеспечивает лучший подход к решению сложных вычислительных задач. Но
чистые языки функционального программирования не подходят на роль универсальных языков программирования с помощью которых решается большинство рабочих задач обычных программистов, которые обслуживают потребности бизнеса. F# является одним из языков функционального программирования, который вобрал в себя аспекты
императивной и
объектно-ориентированной парадигмы, обеспечив тем самым возможности для написания любого типа программ.
JavaScript
Если вам нужно что-то вроде стандартной библиотеки к языку программирования JavaScript, то используйте
Underscore.js. Библиотека содержит полезные функции для работы с объектами и массивами (коллекциями). Любой язык программирования на концептуальном уровне состоит из синтаксиса и библиотеки. У JavaScript собственная библиотека не слишком развита. Underscore.js может дать больше функциональности.
Если вам нужно оперировать с DOM-моделью веб-страницы, то выбирайте jQuery. У этой библиотеки богатые возможности для выполнения запросов к DOM-модели и последующих манипуляций с результатом запроса. Поддерживается анимация так что манипуляции можно анимировать.
Если вам нужно создать информационно-ориентированный (data-driven) пользовательский веб-интерфейс, то используйте
Knockout.js. Эта библиотека использует паттерн проектирования Model-View-ViewModel (MVVM). Упрощенно говоря Knockout.js нужен для связывания модели данных и HTML-кода отображающего эти данные.