2009-04-01 5 views
6

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

Теперь я нуждаюсь в возвращении к «нормальной» разработке приложений по разным причинам. для приложения, которое я хочу построить, нужен графический интерфейс, и он должен работать на osx и windows. как пользователь mac os, мне было бы очень приятно получить приложение в качестве результата, которое действительно похоже на приложение osx. Я не нуждаюсь в каких-либо специальных компонентах пользовательского интерфейса: для моих нужд будет достаточно исследователя/искателя, такого как дерево, datagrid и некоторые элементы формы.

теперь проблема в том, что я не знаю с чего начать: я бы классифицировал меня как новичку, потому что это давно, так как я в прошлом развивал что-либо, кроме веб-приложения. существуют ли какие-либо рекомендации по языкам программирования и наборам инструментов gui с не слишком крутой кривой обучения? или вы можете порекомендовать любую книгу, которую я должен прочитать, чтобы перейти в кросс-платформенную разработку osx/windows?

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

спасибо всем! Я думаю, я посмотрю на realbasic!

ответ

11

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

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

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

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


REALbasic.

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

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

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

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

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

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

+1

Голоса без видимых причин, кроме «Мне это не нравится», меня беспокоит примерно так. Я думаю, что нужно оставить комментарий. Я не верю, что это должно быть анонимно. – bruceatk

+0

Для меня REALbasic - единственное жизнеспособное решение для кросс-платформенной разработки. Это не идеально, но больше ничего не происходит. Они активно поддерживают его с частыми обновлениями, и довольно просто создать приложение в Windows и заставить его работать на MAC или Linux. – bruceatk

+0

У меня есть версия Windows, и для тестирования Ubuntu и OSX используйте MAC mini dual booting. – bruceatk

3

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

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

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

-1

Если вам нужен ваш код для перекрестной платформы, вам нужно будет что-то вроде QT.

Хотя я бы рекомендовал использовать собственный API для каждого из них (Cocoa для Mac OS X, .NET или Win32 API для Windows). Пользовательский опыт будет намного лучше. Но, конечно, это будет стоить вам больше денег с точки зрения разработчиков.

+0

Я не думаю, что QT (требующий знания на C++) является хорошим выбором для тех, кто утверждает, что является «новичком». –

1

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

0

Я бы определенно пошел на C++ и Qt, код, который вы пишете один раз, будет компилироваться и запускаться без проблем в Windows, Mac и Linux. Новая IDE, которая поставляется с Qt-Qt Creator, великолепна, работает и выглядит одинаково на Windows, Mac и Linux, вам не нужно ничего другого, чтобы начать писать кросс-платформенные приложения.

Я пробовал WxWidgets, но не нашел хорошую IDE, лучший из них был Code Blocks, но GUI Designer не идеален и имеет разные проблемы на разных системах, а сама IDE по-прежнему находится в тяжелом развитии.

Другие варианты: Java и C#, но это не межплатформенные языки, это сами платформы. Хотя вам не нужно будет компилировать код для каждой платформы, там будет много разных вопросов на пути ...

+0

«вам не нужно ничего другого, чтобы начать писать кросс-платформенные приложения». это компилятор и отладчик? –

+0

Yup, как говорится, это «Полная среда разработки». – Mahtar

0

Если ваш GUI достаточно прост, почему бы просто не создать общий слой графического интерфейса, то запрограммируйте его? Скомпилируйте версию для каждой ОС с помощью собственных виджетов. Это лучший способ обеспечить собственный L & F на нескольких платформах.

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

Лично я бы пошел с Java, потому что он работал для меня раньше (у меня было приложение, которое запускалось на моем КПК, моем телефоне и моем рабочем столе), но оно не использует собственные виджеты.

+0

Java действительно может быть приятным. Это бесплатно, и Eclipse - отличный редактор. Тем не менее, у него нет интерактивного графического редактора, как это делает REALbasic. –

+0

У NetBeans есть редактор графического интерфейса, к сожалению, поскольку я не использовал REALbasic, я не могу сравнить эти два. Я знаю, что это немного более громоздко (или, возможно, «менее плавное»), чем Visual Basic, если это какая-то помощь. – TMN

5

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

5

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

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

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

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

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

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

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

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

4

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

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

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

3

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

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

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

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

3

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

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

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

0

Добавление конце комментарий здесь:

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

0

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

Смежные вопросы