Как стать автором
Обновить

Комментарии 59

НЛО прилетело и опубликовало эту надпись здесь
Почему разработчики вообще используют UWP? Каковы мотивы? Почему не используют, например, Qt?
UWP распростроняются через стор.

В Qt есть поддержка WinRT, конечно, но не совсем ясно ее качество.
We now offer full support for Windows Store Apps allowing you to reach Windows Phone 8.1 and Windows RT tablet users.
www.qt.io/qt5-4
В Qt есть поддержка WinRT, конечно, но не совсем ясно ее качество


И в общем-то, в таком случае Qt-приложения тоже будут WinRT/UWP приложениями
При этом с точки зрения разработки, это будут Qt-приложения и разработчик о UWP может вообще не знать. А если UWP умрёт — приложению это ничем не грозит.
Qt-приложения и разработчик о UWP может вообще не знать

В если писать на C++ то можно ничего не знать ни про винду ни про линукс, ни про любую другую платформу, ага. Нет, если писать HelloWorld, то так оно, вероятно, и есть.

UWP это не Xaml и не объектная модель GUI это вполне себе среда исполнения: AppContainer, Системное API и так далее.
Вы правы, но всё же суть моего сообщения была не в этом, а в том, что Qt-приложение позволяет не отвлекаться на очередные заморочки Microsoft. Вопрос был в том, почему люди выбирают UWP как инструмент разработки и фреймворк, а не как платформу/ОС? По поводу OS/API всё ясно — выбора нет, как и в случае с другими ОС, но выбор среди фреймворков то есть вроде.
Qt-приложение позволяет не отвлекаться на очередные заморочки Microsoft.
А отвлекаться на очередные заморочки Qt. Заморочки есть везде.
Вопрос был в том, почему люди выбирают UWP как инструмент разработки и фреймворк,

UWP — это именно платформа, на ней работает С++/CX, WinJS (HTML5+JS), на нем работает .NET.
Если вы имеете ввиду последний, и его графическую реализацию, то ей не 3 месяца, а уже 10 лет. Если разработчит 10 лет назад изучил WPF или, тем более SL, то принципиально для него мало что поменялось: те же контролы, тот же жизненный цикл UI.

Все хорошо для своих задач: Qt — для кросплатформенной десктопной разработки. Иногда чуть-чуть для мобильной, но тот же 2Гис вкладываясь в разработку мобильного Qt интерфейсы пишет нативно.
UWP это какая по счету технология разработки GUI

Это всего лишь еще одна вариация WPF. РЕально являющаяся эволюционным развитием WinRT, котроый был эволюционным развитием SL.

А так, ну WinForms все еще есть.
Назад в будущее, или Hello World сегодня и тридцать лет назад
30 лет назад фразу «Hello, world!» писали без ошибок.

Реквестирую аналогичные Hello, world! под другие платформы в комментариях.
Практически для всех платформ.
#include <stdio.h>

int main() {
	printf("Hello, world!\n");
	return 0;
}
Практически для всех платформ :)
package main

import "fmt"

func main() {
	fmt.Println("Hello, World!")
}
ПДВП :)
main = putStrLn "Hello, world!"
НЛО прилетело и опубликовало эту надпись здесь
ПДВП :)
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
Цель коммента — не разжечь срач, а понять один момент.
Вот у коммента на данный момент три минуса — это какая-то особая ненависть к fpc/Delphi среди сишников или явологов, или это просто модно — пытаться пнуть паскаль в каждом подвернувшемся случае?
Вангую еще «щютку» в ответе — «А чего пинать труп» и прочее.
Лично я поставил обоим комментариям минуса за то, что код в них не равносилен примеру из статьи.
Ну так не все платформы подразумевают наличие GUI. Я слышал есть ещё какие-то «маршрутизаторы» на всяких ARM, MIPS с разными *NIX внутри, но без возможности ткнуть мышкой в «About...»
Вот на них вряд ли будет fpc.
На них и gcc, как правило, нет. И если уж ставить — то абсолютно без разницы, что именно при прочих равных.
Хотя да, если верить http://wiki.freepascal.org/Platform_list — MIPS пока fpc поддерживается костыльно.
Ну так сишную можно скомпилить локально под многие платформы, а вот с паскалем так не получится.
http://wiki.lazarus.freepascal.org/Cross_compiling с вами не согласен )
И fpc и Delphi хоть и проваливают все гонки за лидером, все же развиваются. И инерционные «зато в вашем паскале нет...» очень часто оказываются не «в вашем паскале нет», а «я думал, что в вашем паскале нет, а оказывается..»

Я не планирую его пропагандировать, для меня, в общем, нет разницы, C или fpc, мне паскаль нравится просто потому что нравится. Безотносительно реализованных или нереализованных фич и популярности. И обидно, когда его пинают ногами просто «потому что тут так принято»
Это другая программа. Во-первых, консольная. Во-вторых, без ветки --about.
Незачёт.
Вообще круто то, что Hello Word 30-ти летней давности можно спокойно и почти без изменений на современной Windows скомпилировать, современным компилятором, и запустить.
Таким мало что может похвастаться.
Не уверен, что конкретно в случае с Windows это повод для гордости.
Извиняюсь за нубский вопрос, а то, что в default.js — оно потом компилируется в машинный код или выполняется в каком-то интерпретаторе?
Присоединяюсь к вопросу. Аналогичный вопрос про HTML и CSS. Если оно интерпретируется, а не компилируется, то это очень плохо.
Скорее всего JIT-ится js-движком Internet Explorer/Edge
Оно выполняется движком Chakra из Edge. Современные браузеры давно пытаются максимум кода не интерпретировать, а перекомпилировать в наиболее близкое к машинному состояние.
Я в общем-то так и подумал. Просто, на мой взгляд со стороны, мне не очень понятно, чем такое «программирование под Windows» отличается от программирования под любую другую ОС, для которой есть браузер.
Браузера или веб-вью не достаточно. В данном случае, и с точки зрения разработчика, весь WinRT API через метаданные напрямую доступен из кода на JS без дополнительных обязок. Поэтому, если бы я писал на XAML/C#, то все вызовы API выглядели точно также.
… а что-то вечно:
#include «windows.h»
НЛО прилетело и опубликовало эту надпись здесь
Эх, всё-таки большинству современных SDK(любых, а не только виндовых) не хватает чего-то такого, что есть в старом Windows.h. Их код выглядит как-то слишком прилизанно без венгерской нотации, названий типов вроде PWNDCLASS или LPPAINTSTRUCT, без слегка долбанутой архитектуры. Недостаёт там этой манящей и слегка сумасшедшей брутальности.
Всё меняется.
Тридцать лет назад программирование для ПК было уделом фриков-энтузиастов, а теперь это серьёзный бизнес, пронизанный политкорректностью.
но самое главное… – это сильно возросшая выразительность API.
возможности использовать promise сильно облегчают написание кода и его читаемость


	    var promise = new WinJS.Promise.join([
            WinJS.Resources.processAll(),
	        WinJS.UI.processAll()
        // Add basic logic
	    ]).then(function () {
            // Update window title


Да тут читаемость вообще зашкаливает.

Я в 1997 году в Delphi бы форму с кнопкой About которая вызывает диалоговое окно сделал бы в общей сложности написав одну строку «Form2.ShowModal()».

Еще одна вещь, которая в 1997 году была лучше чем сегодня в универсальных приложениях Windows 10 и чем 30 лет назад в Windows 1 — окна могли друг друга перекрывать.
Думается, поэтому делфи так и взлетел, особенно в среде бизнес-приложений а-ля:
Классика
image

Ну и ADO, передаче по ссылкам, дизайнеру, ...
Еще одна вещь, которая в 1997 году была лучше чем сегодня в универсальных приложениях Windows 10 и чем 30 лет назад в Windows 1 — окна могли друг друга перекрывать.

В windows 10 окна могут друг друга перекрывать. Попробуйте.
Всмысле сделали, что метро-приложения теперь в окнах могут быть? Это круто. То есть вернули и кнопку Пуск, и что все в окнах можно запускать, так это же почти так же круто как Windows 7.

Вообще мне нравится Cortana и Notification Panel. Наконец-то мой компьютер догнал по функциональности мой телефон.
То есть вы признаете, что осуждали, не читая?

10ка не считая некоторых проблем с дровами (как всегда) — прекрасная система. С летним выпуском они, конечно, несколько поторопились, но Осенний апдейт должен поправить практически все косяки (сейчас сижу на Insider Preview).
Надеюсь он решит мою проблему, а то после установки обновлений и перезагрузки мне приходится плясать с бубном, чтобы появился Logon Screen. также не могу пользоваться встроенной почтой, тк не может запустится служба учетных записей. Причем проблема только на ноутбуке, стационарник такого не показывает. Правда разница в том, что ноут обновлялся с семерки, а стационарник с 8.1.
Не факт, что поможет. Попробуйте на чистую переустановить 10 (в настройках есть сброс). После этого многое может починиться. Но при этом могут отвалиться какие-нибудь специяические дрова.
на данный момент я не могу себе позводить чистую установку. Сликом много времени уйдет на восстановление рабочей среды.
JS для приложений сам Майкрософт (который написал пост, класс!) уже готов слить как неудачный эксперимент, и вернуть XAML как основное средство разработки. Собственно, это уже практически и произошло. Зачем писать тут пример программы на JS — загадка. Шумиха трехлетней давности, что скоро все будет на джаваскрипте сама собой умерла. И хорошо. Интересно об этом говорит Билли Холлис в одной из недавних передач на .netrocks
В 10ке есть очень интересная возможность упаковки сайта в appx, после чего тот получает доступ ко всему API и может распространяться через стор. Так что не все потеряно для JS.

ЗЫ, сам я пишу на .NET
А у меня, наоборот, подозрения: Майки тащат в студию Node.js,Cordova,Win10App+Js…

Как бы одним прекрасным днем они не закопали бы XAML… вместе с .Net впридачу… Ведь облакам все равно, какой код выполнять-главное, чтобы это было «правильное» облако.
А еще они тащат в студию Xamarin, Obj-C и кросс-платформенный C++. Просто они хотят как можно больше разработчиков привлечь к своей платформе. Ведь чем больше разрабов пользуется студией — тем больше пользуется виндой. А если разрабы пользуются виндой, то они будут писать под нее приложения, хотя бы для себя.

Но с другой стороны, если рынок действительно повернется в сторону JS, то они будут больше внимания ему направлять — это логично.
НЛО прилетело и опубликовало эту надпись здесь
О да! Похожие воспоминания про WinAPI :) От того первый пример, как родной.
Охлол, да WinAPI с тех пор не сильно изменился-то :)
Выходит, что универсальный hello world для всех существующих на этой планете винд — это вот так:

#include <windows.h>

int main(){
    MessageBox(NULL, "Hello World!", NULL, MB_OK);
    return 0;
}
Где элемент меню «About...»?
int result=MessageBox(NULL, "Hello World!\n\nBy the way, we've also got an about box! Would you like to see it?", MB_YESNO);
if(result==IDYES){
    // показать окно about таким же способом
}
Не знаю, за современными технологиями не слежу почти, но мне первый пример был куда более понятным, студенчество вспомнил. А на «static HANDLE hInst;» чуть не всплакнул от умиления и ностальгии.
У меня нет фото Microsoft 30-летней давности, но есть свежее фото Редмондовского кампуса, вернее, Commons, немножко снаружи и внутри:
1.image
Это водоём возле здания Commons — чуть более, чем полностью состоящего из маленьких кафешек.
Кстати, по краям водоёма установлены таблички, которые намекают, что в воду и не лезть, и не пить, дескать, химикатами очищена.

2.image
Одна из тех самых кафешек.

3.image
Фото от 16 октября сего года.
Но как это относится к теме?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий