Хорошие проекты для изучения программирования GUI - PullRequest
1 голос
/ 29 июня 2009

Я в основном программист-самоучка. Когда я изучаю новый язык, обычно это выглядит так:

  • Купить книгу (или книги) на языке.
  • Прочитайте упомянутые книги.
  • Найдите более запутанные / интересные аспекты в Интернете.
  • Фактически используйте этот язык для чего-либо (используя Интернет и книгу в качестве ссылки)

Веб-программирование предоставляет множество возможностей для этого. Форумы, блоги, социальные сети и т. Д. Конечный результат будет отличаться от того, что сделано правильно, но затем я могу скачать программу с открытым исходным кодом, сделав то же самое, и сравнить, чтобы проверить, хорош ли мой код.

Тем не менее, для настольного графического интерфейса, я отчасти тупик для идей. Какие-нибудь предложения относительно достаточно сложного (но выполнимого) проекта, чтобы привыкнуть к программированию на рабочем столе?

Ответы [ 7 ]

7 голосов
/ 29 июня 2009

Вы можете найти доступный (возможно, но не обязательно, с открытым исходным кодом) инструмент командной строки и написать для него оболочку GUI, которая облегчит обработку параметров командной строки. Это должно многому научить вас в поиске правильной метафоры пользовательского интерфейса и ее реализации.

3 голосов
/ 29 июня 2009

Как насчет просмотра различий? Это должно быть довольно просто, чтобы начать работать с основами, но должно быть множество возможностей улучшить GUI, кроме этого (обратите внимание, что некоторые из этих функций уже существуют в хороших средствах просмотра различий, таких как Meld и Kdiff3 ):

  • Прокрутка, чтобы различия выглядели как можно ближе друг к другу (нетривиально, если строки были удалены / добавлены)
  • Подсветка синтаксиса с использованием существующих библиотек, таких как GeSHi
  • Возможность "сжимать" текст, который находится на расстоянии не менее X строк от любого различий
  • Изящная обработка различных кодировок / концов строк
  • Перелистывание левой / правой панели
  • Трехсторонний дифференциал
  • Справочник diff
  • Гладкая " трубка " между линиями различий
3 голосов
/ 29 июня 2009

Даже простое приложение для обмена мгновенными сообщениями будет содержать несколько интересных задач, таких как:

  • асинхронная сетевая связь и обработка этих событий в графическом интерфейсе
  • создание пользовательских элементов управления (например, список контактов со статусами и аватарами)
  • работа с перетаскиванием оболочки для передачи файлов
  • уведомления на рабочем столе (входящее сообщение) и другие функции интеграции с рабочим столом (возможно, обработка Send To в windows)
  • управление состоянием конфигурации
  • предоставление информации о питании - например, ваше приложение должно отключиться от сервера, прежде чем ваш компьютер перейдет в режим ожидания
  • обработка событий ожидания пользователя
  • создание окна чата с редактором текстовых сообщений
  • и т.д.

Классные вещи!

2 голосов
/ 29 июня 2009

Создайте одно из ваших старых веб-приложений, используя Eclipse Rich Client Platform . Это должно быть интересно, если не сказать больше.

1 голос
/ 29 июня 2009

Хорошим настольным приложением была бы игра. ;-) Опять же, многие игры движутся к интернет-соединению, но часто имеют свою собственную интернет-логику. Вы можете начать с создания хорошей карточной игры, а затем перейти к шашкам или простому шахматному движку.
Это может звучать глупо, но хорошие программисты могут создавать интересные игры. Это отличное упражнение между реальными проектами.

1 голос
/ 29 июня 2009
  1. Проводник
  2. Приложение часов
  3. Калькулятор
1 голос
/ 29 июня 2009

Для захватывающего вступительного проекта в захватывающий мир программирования с графическим пользовательским интерфейсом для настольных компьютеров (который все еще остается в моде) вы можете написать простой инструмент управления счетами для операции типа кредиторской задолженности. Убедитесь, что вы включили множество вариантов отчетности.

На полном серьезе я бы начал с попытки создать графический интерфейс для инструмента командной строки, который вам нравится. Это или реализация понг. Понг это всегда весело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...