Expertise

The following coding languages, operating systems and development tools are those in which TechWire has experience and is confident in working with.

Mobile Development

We use PhoneGap (with HTML5 and jQuery Mobile, though there are many options that we can use to suit the task best).

Note that using PhoneGap provides us — and you, as our customer, with a unique opportunity to develop robust mobile applications that span several popular mobile platforms. This framework allows development in HTML5 (HTML / CSS / JavaScript), while providing access to mobile devices’ native functions — e.g. GPS, Compass, Camera access, etc. Such approach results in single code-base across several platforms — saving a lot on development and maintenance time and cost.

The most popular platforms: iOS, Android, Windows Phone 7, are supported, as well as many others. Of course, we test on all the required mobile platforms to make sure all the nuances are ironed out.

Web Development

HTML, JavaScript (including JQuery, JQuery UI), CSS.

Web-application development is our main experience. With backend implemented using MS SQL / Oracle and ASP.NET, the front-end work involved creating a lot of interactivity on the applications’ pages.

This includes grids, graphical charts, interactive dashboards, handling geographical maps, many kinds of reports and data-entry forms. It is amazing what can be achieved with web-technologies today, and we are glad to be part of this progress.

Summary

Here’s a brief overall view of what we use:

  • Web: HTML, CSS, JavaScript, AJAX.
  • Mobile: PhoneGap (HTML5), jQuery Mobile, native code plugins.
  • Database: Oracle, MS SQL Server, MySQL, Access;
  • Languages: C#, Visual C/C++, Java, Visual Basic, Perl, ASP, PHP;
  • Microsoft .NET Framework (including good practical knowledge of ASP.NET);
  • Content Management Systems, such as Drupal, WordPress, Joomla, as well as lower-level frameworks such as ASP.NET MVC, PHP CodeIgniter etc;
  • Miscellaneous Technologies: XML, XSLT, COM+, ActiveX, SOAP, REST.
Engineering a Drupal web-site, step 3

Engineering a web-site, step 3: Goals, users, structure

Continuing a description of the Information Architecture (IA) process, in this third article of “Engineering a web-site” series (dedicated to the design and development of site for the Baptist Union of the Dnepropetrovsk region using Drupal CMS), I describe the final goals for the site, the audience, how that was broken down to specific tasks, and how it was translated into the final site structure.

Continue reading

Engineering a web-site, step 1: Study of the peers

Engineering a web-site in Drupal, step 1We’ve recently launched a site developed in Drupal CMS for the Union of Evangelical Christian Baptist churches in the Dnepropetrovsk region. Later I’ll also post a summary of the technologies used in the site’s creation, yet before that I would like to share, in a series of articles, how I approached the design and planning in this project. The first article, “step 1”, is dedicated to studying other similar sites, for information, ideas and warnings.

Continue reading

Using Google services (Wave, Docs) in daily QA process

Using Google services (Wave, Docs) in daily QA processThere are many organizational difficulties facing small to medium Software Quality Assurance (QA) teams. Because of this, we welcome any help to simplify this work and make assignment, communication and reporting more reliable. Tools are not the silver bullet, yet with a responsible team the right tools can make a lot of difference. Read on to see how we started using Google’s toolkit (namely, Google Wave and Google Docs) in our daily QA and general development practices, as described by Dmitriy Boltovskiy, our QA team lead.

Continue reading

Accessing unmanaged code in separate context in WPF

In order for Windows Forms controls to work correctly in .NET Framework it is necessary to access their methods and properties from the same context that they were created in, otherwise they may display unpredictable behaviour. Usually this is a concern when using multiple threads, some of which need to modify a control’s state. All of this is also relevant for Windows Presentation Foundation (WPF) technology. However, in WPF such an issue may also arise when using a DLL with unmanaged code — this does not occur in WinForms. We’ll show an example how one can solve this issue by calling methods from the DLL in a separate context.

Continue reading