Cross-Platform Programming with wxWidgets
Just Make It Cross-Platform
Subscribe to Feed
  • Home
  • Projects
  • Links

wxRuby. Оно даже работает!

wxWidgets Add comments |

Вдохновленнный читаемой нынче книгой My Job Went to India: 52 Ways to Save Your Job решил покорять новые горизонты. Наткнулся несколько дней назад на вводную статью о wxRuby и сегодня решил попробовать. Оказывается это не так страшно.

Что понравилось:

  • Под Windows ставится просто. После инсталляции не требует никаких настроек. Кодишь, запускаешь – работает.
  • Документация, как всегда у wxWidgets, позволяет решить все вопросы.
  • Синтаксис… на вид – вменяемо (учитывая что для меня это новый язык программирования, минимальное приложение получилось создать минут за 15).
  • Есть бесплатные средства разработки.

Что не понравилось:

  • Бесплатные средства разработки немного…. унылые. Скорее напоминают просто текстовый редактор с подсветкой синтаксиса и возможностью запуска скриптов.
  • Без интеллисенса тяжело :)
  • Хочу документацию в CHM, а есть только в HTML что не очень удобно

FreeRIDE wxRuby IDE
И вот… минимальное приложение. Как оно получилось:

# -*- encoding: utf-8 -*-

require 'wx'

class HelloFrame < Wx::Frame
  def initialize
    super(nil, :title => 'Hello World!')

    panel = Wx::Panel.new(self)

    sizer = Wx::BoxSizer.new(Wx::VERTICAL)
    panel.set_sizer(sizer)

    button = Wx::Button.new(panel, :label => 'Press me')
    text = Wx::TextCtrl.new(panel, :value => 'Sample', :style => Wx::TE_MULTILINE)

    sizer.add(button, 0, Wx::EXPAND | Wx::ALL, 5)
    sizer.add(text, 1, Wx::EXPAND | Wx::LEFT | Wx::RIGHT | Wx::BOTTOM, 5)

    evt_button(button.get_id, :o n_button_click)
  end

  def on_button_click
    Wx::MessageDialog.new(self, "Hello world!", "Test", Wx::OK).show_modal
  end
end

class HelloApp < Wx::App
  def on_init
    frame = HelloFrame.new
    frame.centre
    frame.show
  end
end

app = HelloApp.new
app.main_loop()

Немного странно называются классы, без префикса “wx”, зато с неймспейсом. Немного странным кажется способ привязки обработчиков событий. Очень понравилась возможность указывать значения только необходимых параметров. По сравнению с wxJavaScript мне wxRuby кажется более приятным т.к. все работает без дополнительной настройки. Сравнения по скорости работы пока не проводил. Есть поддержка wxAUI, wxGCDC/GdiPlus, Document/View, GLCanvas, что очень приятно.

Вместе с wxRuby поставляется довольно большое количество примеров, которые могут помочь разобраться как в синтаксисе так и в особенностях использования API.

  • Скачать wxRuby
  • Скачать FreeRIDE

September 3rd, 2009 |

Tags: wxRuby, wxWidgets

Related Posts

  • wxJavaScript – Кросс-платформенный скриптинг десктопных приложений. Знакомство
  • Кросс-платформенная справочная система для кросс-платформенных приложений – Часть I
  • Собираем сторонние компоненты wxWidgets в Code::Blocks
  • Кросс-платформенная справочная система для кросс-платформенных приложений – Часть II
  • Creating Nice Reports with wxWidgets ZIP API
antivirus free download

4 Responses to “wxRuby. Оно даже работает!”

  1. Begemot
    September 3rd, 2009 at 20:09:21

    Почему руби, почему не питон? так просто что попалось, или все-таки есть причины?


  2. Евгений aka SmileGobo
    September 4th, 2009 at 22:09:18

    А не подскажите где про wxJavaScript почитать?


  3. T-Rex
    September 5th, 2009 at 20:09:21

    http://www.wxjavascript.net/
    Больше так особо ресурсов не видел по нему специализированных. Вобще довольно интересная штука.


  4. T-Rex
    September 5th, 2009 at 21:09:54

    Почему руби, почему не питон? так просто что попалось, или все-таки есть причины?

    Просто решил попробовать что-то новое. А тут как раз на днях прочитал о wxRuby, вот, так сказать, решил сделать тест-драйв. :)


Leave a Reply

Please leave these two fields as-is:

  • This blog is about…

    Articles Code::Blocks Components Controls Database DatabaseLayer Document/View Eclipse Localization NetBeans Networking News Printing Reports SQLite Tutorilas Video Visual Studio wxAUI wxButton wxDev-CPP wxGrid wxHelpController wxJavaScript wxJSON wxLocale wxLog wxPaintDC wxPropertyGrid wxRuby wxSQLite3 wxThread wxValidator wxWidgets wxWinCE wxZipInputStream wxZipOutputStream XML Библиотека Книги Статьи
  • Showcase

    Visit wxToolBox Homepage

    Buy wxToolBox (with source code)

  • Archives

    • November 2009
    • September 2009
    • August 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • September 2008
    • August 2008
    • July 2008
    • June 2008
    • May 2008
    • April 2008
    • March 2008
    • February 2008
    • January 2008
    • December 2007
    • June 2007
    • May 2007
    • January 2007
  • Recent Comments

    • T-Rex on Getting Acquainted with Document/View Framework – Simple Image Viewer
    • T-Rex on Сделайте мне красиво – Часть II – wxAUI в Multi-View приложений
    • Mardiko on Getting Acquainted with Document/View Framework – Simple Image Viewer
    • marty on Сделайте мне красиво – Часть II – wxAUI в Multi-View приложений
    • T-Rex on Перевод книги Julian’а Smart’а – Глава VI – Обработка данных с устройств ввода
  • Buttons

    Locations of visitors to this page

    Rambler's Top100
    Рейтинг@Mail.ru

Copyright © 2010 Cross-Platform Programming with wxWidgets All Rights Reserved
RSS Log in