разработка osx & windows - для новичков - PullRequest
6 голосов
/ 01 апреля 2009

мой фон: я разрабатывал веб-приложения с использованием php и javascript в течение последних десяти лет. до этого я разрабатывал приложения, использующие Turbo Pascal для DOS. По моему мнению, разработка приложений и веб-приложений - это два разных вида разработки (по крайней мере, это то, о чем я думаю, когда вспоминаю старые времена разработки приложений для DOS).

Теперь мне нужно вернуться к «нормальной» разработке приложений по разным причинам. приложение, которое я хочу создать, нуждается в графическом интерфейсе и должно работать на OSX и Windows. как пользователь Mac OS мне было бы очень приятно получить приложение в результате, которое действительно похоже на приложение OSX. мне не нужны никакие специальные компоненты пользовательского интерфейса: для моих нужд будет достаточно проводника / искателя, такого как дерево, сетка данных и некоторые элементы формы.

Теперь проблема в том, что я не знаю, с чего начать: я бы классифицировал меня как новичка, потому что я давно не разрабатывал ничего, кроме веб-приложения. Есть ли какие-либо рекомендации по языкам программирования и инструментарию GUI с не крутой кривой обучения? или вы можете порекомендовать какую-нибудь книгу, которую я должен прочитать, чтобы перейти к разработке кросс-платформенных приложений для OSX / Windows?

большое спасибо!

спасибо всем! я думаю, что я взгляну на realbasic!

Ответы [ 13 ]

11 голосов
/ 01 апреля 2009

Редактировать ноябрь 2011 - отвод

Большая часть того, что я говорю ниже, все еще верна, однако теперь у меня есть серьезные оговорки в отношении рекомендации REALbasic всем, кто пытается выпускать приложения коммерческого качества. Чтобы не забыть отредактировать этот пост позже, посмотрите, удалось ли RealSoftware выпустить надежную версию своей IDE, используя версию своих структур Cocoa. Если нет, будьте очень осторожны.

Я с тяжелым сердцем пишу это, потому что мне все еще очень нравится язык и я думаю, что фреймворк и IDE хорошо сделаны. По-видимому, проблема заключается в недостаточной капитализации и, возможно, в культуре разработки программного обеспечения внутри компании, которая постоянно не справляется с проблемой регрессии ошибок. Многие ошибки исправляются в каждом выпуске, но, похоже, для разработчиков существует огромный налог на количество введенных ошибок. У них очень небольшая команда по сложности продукта, особенно учитывая недавно выпущенный Web Edition, который по сути является совершенно новой платформой.

Теоретически, это все еще отличный продукт, но используйте пробный период, тщательно протестируйте его на каждой из платформ, на которые вы планируете ориентироваться, и решите, сможете ли вы справиться с найденными ошибками, потому что они могут присутствовать некоторое время.


REALbasic.

Этот язык является мощным современным ОО-языком, к которому вам не составит труда адаптироваться из вашего смутно запомненного Паскаля или текущего JavaScript. Он обладает большей мощью C ++ без опасных битов, которые делают отладку кошмаром. Вы также найдете IDE проще и легче работать, чем, скажем, Visual Studio.

В среде IDE очень легко собрать графический интерфейс и заставить его работать только на нескольких платформах. Pro версия имеет один из лучших кроссплатформенных отладчиков, которые я использовал, и легко работать (скажем) на Mac и разрабатывать для Windows и Linux, компилируя и тестируя одним щелчком мыши.

Существует также процветающее сообщество, включающее множество людей с вашим уровнем знаний, поэтому вы не будете издеваться над тем, чтобы быть новичком .

Я профессиональный разработчик программного обеспечения с более чем 25-летним опытом работы и в настоящее время в основном работаю в REALbasic, C ++, C #, Objective-C и немного Ruby. Для приложений, о которых вы упомянули, REALbasic - мой инструмент выбора.

edit: Я не могу поверить, что кто-то проголосовал против, но у него не хватило смелости добавить комментарий, объясняющий почему. Я слышал о предубеждении против REALbasic, но впервые сталкиваюсь с этим. Каким образом мой ответ был неуместным для этого вопроса?

Просто чтобы добавить к моему кредиту, я реализовал кроссплатформенные платформы , используемые в системах, развернутых для десятков тысяч конечных пользователей - у меня есть опыт кросс-платформенности C ++ аплодировать кому-то, кто делает хорошую работу, и REALbasic-фреймворки очень хороши.

5 голосов
/ 01 апреля 2009

Я бы посоветовал против C и Qt, а также рекомендовал бы REALbasic.

Имея опыт работы с Pascal и, возможно, с JavaScript, вы будете чувствовать себя намного комфортнее с REALbasic. Я много занимался кодированием на Pascal и C / C ++ - где Pascal помогает вам избежать ошибок программирования, C позволяет вам сразу же вмешиваться, даже приглашать вас, и тогда вам будет трудно понять, почему все пошло не так , Qt является очень абстрактной средой и требует от вас многого научиться, прежде чем вы сможете что-то заработать, как в случае с C. По сравнению с простотой, которую мы имели в то время с TP.

РБ намного больше похож на Паскаля в этом отношении. И его IDE довольно современна с точки зрения поддержки вашего программирования, с простым в использовании графическим дизайнером, простым редактором, чтобы заполнить пробелы в обработке событий пользовательского интерфейса, завершении кода и т. Д.

Только когда вы попадаете в программы огромных размеров, RB теряет часть своей привлекательности, потому что ей не хватает инструментов, чтобы дать вам хороший обзор сложных взаимодействий классов и т. Д.

Другое дело, что Qt с большей вероятностью вызовет уродливые Mac-приложения, чем RB. RB визуально помогает вам правильно выровнять все - в Qt вам нужно работать с числами, смещениями и т. Д. Для позиционирования ваших объектов (по крайней мере, так было, когда я использовал Qt 2 года назад).

Я написал довольно много приложений для x-платформы в РБ и очень доволен результатами.

Вероятно, вы не будете писать те супер-красивые приложения, которые конкурируют с лучшими на открытом рынке для малого бизнеса, но если вы просто хотите, чтобы какой-то надежный код работал, с простым в разработке пользовательским интерфейсом, приемлемым для средний пользователь, попробуйте РБ.

Хотя это не бесплатно. Но его довольно небольшое сообщество на вашей стороне - они хотят помочь, вместо того, чтобы избивать всех, кто пытается говорить здраво:)

5 голосов
/ 01 апреля 2009

Лучший кроссплатформенный инструмент, с которым я столкнулся, с относительно небольшой кривой обучения ... особенно если вы знакомы с Visual Basic ... - это REALbasic. С REALbasic Pro вы можете скомпилировать программу для Win32, Linux и OS X из одной и той же кодовой базы, если вы не используете специфичные для ОС вызовы и функции (что можно делать с помощью плагинов или прямых вызовов). Их поддержка в значительной степени отвечала на мои вопросы, персональная версия (которая компилируется только для одной целевой платформы, для которой вы загрузили IDE) бесплатна для Linux и недорогая для других платформ, но на самом деле вы можете ее скачать и попробовать из. Одна IDE, относительно недорогая, может компилировать нативные приложения в OS X, Windows и Linux ... это меньше хлопот, и для меня это важно, когда вы хотите выполнить свою работу.

4 голосов
/ 01 апреля 2009

Я новичок здесь, но поднял в этой теме через REALbasic User Group. Я думаю, что моя позиция была похожа на вашу. Я сделал дизайн сайта для своей работы, используя в основном javascript (с небольшим количеством php, немного). У меня был паскаль и бейсик. Я баловался этим C, но мне не понравился уровень детализации, необходимый для мониторинга. Это напомнило мне слишком много о собрании (о котором у меня все еще есть кошмары из моих школьных / студенческих дней).

Я искал кроссплатформенный язык с привычным для него ощущением, но изначально начал с VB, потому что он был бесплатным. Однако я предпочитаю программировать в MacOS, поэтому я попробовал REALbasic. Я обнаружил, что построитель пользовательского интерфейса REALbasic гораздо проще в использовании, чем VB. Я бы повторил другие комментарии о том, что сообщество является наиболее отзывчивым из всех групп пользователей, с которыми я был связан. С тех пор я использовал REALbasic и мой Mac для создания нескольких программ, которые ежедневно используют более 100 пользователей на моей работе (на ПК, в основном XP и 2000). Я получил комплименты по поводу блеска и простоты использования этих программ. Вы DO должны помнить, чтобы настроить «мелочи», чтобы они выглядели правильно на кроссплатформенном уровне (то есть: расположение кнопок по умолчанию противоположно на ПК и Mac, размеры кнопок различаются в Linux и т. Д.). Многие люди пожертвовали пользовательские классы, которые делают это за вас.

Люди, похоже, предполагают, что «базовый» язык не может быть достаточно мощным для их целей. Хотя это ядро ​​BASIC (с помощью команд For..Next, Do..While и If..Then), это не BASIC вашего папы. Это гораздо больше ООП, чем все остальное, что я использовал, на основе структуры, управляемой событиями, которую для меня было легко подобрать. У них есть бесплатная пробная версия, поэтому возьмите демо-версию и ознакомьтесь с руководством. Если вы застряли, задайте вопросы в NUG или на форумах на веб-сайте, и вы, скорее всего, получите ответ быстро.

3 голосов
/ 01 апреля 2009

Я искренне рекомендую RealBasic тоже. Я использую RB уже около 8 лет и считаю, что это идеальный инструмент для нужд развития моих компаний, от небольших приложений до больших многопользовательских систем.

Идеально подходит для начинающих и тех, кто возвращается в программирование, а также для профессиональных разработчиков.

Настоятельно рекомендуется.

3 голосов
/ 01 апреля 2009

Как указали Энди Дент и другие здесь, для новичка в создании кроссплатформенных приложений трудно превзойти REALbasic (сейчас Xojo ).

Конечно, существует множество других кроссплатформенных решений, таких как QT (C ++), Java, .NET (в некоторой степени) и wxWidgets, но они не являются чем-то, что новичок сможет эффективно использовать.

У меня многолетний опыт профессионального развития в самых разных языках и технологиях, и я предпочитаю использовать REALbasic большую часть времени.

С учетом сказанного, вы также можете рассмотреть Runtime Revolution или Adobe Air.

3 голосов
/ 01 апреля 2009

Вас могут заинтересовать следующие вопросы и ответы:

и многие другие предложили в Связанные боковые панели этих вопросов.

В некоторых ответах предлагается gtk (который используется кроссплатформенным gimp ). Другие предлагают нативные подходы. Некоторые полагают, что Mac - хорошая платформа для разработки под Mac OS X, Windows, Unix и Linux.

1 голос
/ 01 апреля 2009

Хотя может показаться заманчивым использование языка, независимого от платформы и позволяющего вам написать приложение один раз и использовать где угодно, вы, несомненно, будете жертвовать чем-то для каждого, особенно в пользовательском интерфейсе и пользовательском опыте. Если вы можете лучше всего создать что-то, используя собственный API, который позволит вам в полной мере использовать возможности ОС, чтобы ваше приложение сияло.

0 голосов
/ 20 апреля 2009

Я бы тоже посмотрел в Realbasic или Revolution. Они оба создают кроссплатформенные нативные приложения. Лично я думаю, что Realbasic был бы лучшим выбором, так как он очень похож по языку на VB. Вы можете научиться некоторым ценным навыкам в RB, и они могут расти вместе с вашим опытом. Я использую VB и RB более 10 лет вместе, и я думаю, что вы будете счастливы.

0 голосов
/ 14 апреля 2009

Добавление позднего комментария здесь:

Взгляните на Revolution . Это похоже на современную Гиперкарту на рейдах. И это кроссплатформенность (Mac, Linux и Windows). Это серьезный конкурент RealBasic, и он набирает силу. Хотя я все еще использую RB (и мне это нравится), я серьезно смотрю на Revolution.

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