Friday, 24 August 2012
The Smoothest Application Development Ride – with Ruby on Rails
Ruby on Rails has been
the topic of discussion for years together, yet the capabilities of this
cutting-edge technology are not known to many an application developer, in
their entirety. What RoR application development provides is an enhanced and
supremely productive path to the rapid development of web application. Here, we
try to light the way to make this technology accessible and enjoyable to
developer communities across the globe. So, the next time you hire RoR developers, you can be assured that your application will be up and running in
no time at all.
Let’s start off with the
basics! Ruby is an ideal example of a purist’s concept of a pure object-oriented
language with an easy-to-write and maintain syntax that should be any
programmer’s dream come-true. And Rails? A framework that is open source and is
perfectly suited to the development of web-based, database-driven applications;
that’s Rails for you. The advantage of this framework is its capability to
develop applications up to 10x faster than technologies, such as Java! Ruby and
Rails leverage each other and the two most important principles of lesser lines
of code and convention over configuration are derived from this amalgamation.
As you start developing RoR web applications, you’ll realize that the mount of
code required is way lesser than other technologies. On the other hand, we have
convention over configuration which cuts the umbilical cord for all XML files.
You can literally do away with all XML configuration files, as simple
programming conventions take their place.
Okay, now onto the main
course! We will try and explain the process of developing
a web-based, database-driven application using Ruby on Rails.
The
Installation
Though Rails has always
been a breeze when it came to installation and configuration, there are many
tools available today that make this job even simpler. Based on your operating
environment, you can choose any one of the following options: Instant Rails for
Windows, Locomotive for Mac OS X, and Rails LiveCD for Linux.
The Purpose
The application we are
aiming to design is supposed to show a list of all books, create and edit
existing book titles, and categorize books to categories according to their
genre, such as crime fiction or sci-fi. Designing the structure and defining
the ground rules for standardizing such as app is important as the UI
experience of a user should not differ from page to page.
The Process
Here we have our first
brush with the iterative and incremental approach offered by Rails. Below are
the steps required to develop any application in Rails:
Create a Rails Web
Application shell (empty app)
Choose Rails’ default
database name or specify one yourself
Create the database if
it doesn’t exist
Pick and choose your
application’s features
Create the tables that
your app will use, if they don’t already exist
Create a code base for
the tables
Optimize and modify the
code as per your need
Repeat steps 4 -7 till
your application development is complete
Step 1 - Create a Rails Web Application shell (empty
app)
Rails provides an
endearing feature where every Rails app has the same core structure. So,
whenever you want to create a new app, Rails automatically generates a
structure for this application. This is something that many Ruby on Rails
consultants cherish as it affords them the extra bandwidth that they can invest
in thinking of innovative features for the app. Your app will always reside
under the Rails Root directory which may be termed differently based on the
environment you use. Open a command prompt window and find your way to this
directory. All you have to do now is christen your app. Type rails library
(remember, our app is for a dynamic database of books?) and voila! Rails
creates your app subdirectory and a tree of folders and files – your empty
Rails app. Rails automatically writes code to most of these files in the
various subdirectories. But there are a few that need a special mention:
app/controllers –
contains all the controller classes. A controller is a component that handles
incoming web requests from users.
app/views – contains
display templates that are converted to HTML after filling in data and returned
to the user’s browser.
app/models – contains
classes that model and wrap the application database contents.
app/helpers – contains
helper classes to do what their name suggests: help the model, view and
controller classes in their function.
Step 2 - Choose Rails’ default database name or
specify one yourself
The database we need to
use for this application needs to be specified in a fixed format; its name
concatenated with development, which in this instance means our database will
be called library_development. We should also try and leave the development
database password blank as it is a convention followed by Rails. If you ever
need to modify the database name or password, all you have to do is access and
edit \library\config\database.yml.
Step 3 - Create the database if it doesn’t exist
Now, we create our
database. Ensure that the MySQL engine is running and log into the command
prompt as a root user. Enter and execute the following commands:
mysql –u root –p
create database library_development
grant all on library_development.* to
‘ODBC’@’localhost’;
exit
Step 4 - Pick and choose your application’s features
Here’s what makes Rails
different from other application development technologies. Any data we assign
to rails, it assumes that we will need to create, read, update and delete it.
In our case, we too need to create book titles, edit them, delete them, etc.
Therefore after specifying the tables we want for the app, Rails will
automatically generate all the basic code. Now, do you understand why Rails is
up to 10x faster?
Step 5 - Create the tables that your app will use, if
they don’t already exist
We are not going to
dwell on creating on tables and defining foreign keys here. All we need to know
is that 2 tables are required, one for the book titles and another for the categories
with a one-to-many relationship.
After creating tables in
MySQL, on the command prompt ensure that you are in the library_development
directory and execute the following command:
mysql cookbook2_development <db\create.sql
If you return back to
the command prompt, without any messages or error, everything went fine.
Step 6 - Create a code base for the tables
Here, we use scaffolding
– a concept unique to Rails that allows us to generate a basic application
structure without breaking a sweat. Execute the following command on in your
app subdirectory:
ruby script\generate
scaffold book book
This generates the model, view and controller files for the section of
our app that will use the Titles tables. We do the same for the category part:
ruby script\generate scaffold category category
Step 7 - Optimize and modify the code as per your need
We will use Mongrel; a
popular Rails-friendly web server for hosting our app locally. In the library
subdirectory execute the following command to rev up Mongrel:
mongrel_rails
start
And, we are done! A few more lines of code would be required to patch
things up and display proper messages but mostly, our app is up and running in
the blink of an eye!
We are a Ruby on Rails development company that has been leveraging its
extraordinary advantages for quite some time, to design and develop
cutting-edge application for our clients. We provide offshore software development services to companies and organization across the globe and have
achieved a 100% development rate doing the same. If you wish to harness the
tantalizing power of Ruby on Rails for the development of your application, do
not hesitate to get in touch with us and hire RoR developers from our talent
pool. You web application will be up and running in no time, and will function
par excellence; that’s a promise!
Wednesday, 15 August 2012
WordPress Theme Release Rulebook – The Works
The demand for customized websites developed with
the latest Content Management Systems (CMSs) has seen an exponential rise.
Right at the top of the CMS lot is WordPress. As we speak (or rather, type!),
there are countless individuals and companies looking to hire WordPress programmers to conceptualize and develop their websites for varied purposes,
such as Ecommerce, informative portals, company intranets, etc. Specially
designed themes play a significant role in the WordPress development. What’s in
a theme, some would say. Maybe, but its more about what should be borne in mind
before setting up a WordPress theme for sale on popular marketplaces such
ThemeForest.
First up, do you like protected posts, where
unauthorized viewing is restricted via password? Inserting a simple
post_password_required () check in the comments.php file will ensure this.
Creating an attachment.php file, even if a template does not exist, is
advantageous as it helps visitors to your site view images in full screen mode
with the site navigation still accessible. Modifying the rtl.css file will
override the main style.css file and set WP_LANG variable to accommodate right
to left written languages, such as Arabic and Hebrew. This helps keep your site
flexible and open to posts from visitors across the globe. You can even supply
an editor style by setting up the TinyMCE editor on WordPress. To ensure that
your visitors can read paginated entries, insert the wp_link_pages tag within
the loop.
Additionally, check that all the default widgets
displayed by WordPress are visually appealing and have the best display
resolution. Never forget to insert the wp_footer() before closing the body tag
and the wp_head() before closing the head tag. Custom menus and custom
backgrounds are supported by WordPress 3.0, which means you have to take extra
care when posting a theme. You can also ensure that user-strings are
translatable to languages other than English. After completing the design, make
the theme consistent and run the WordPress.org Theme Unit Test for ironing out any creases left behind.
We, at GoodCore have gained credible expertise in
the development of WordPress-based portals and websites. You can hire wordpress
programmers from us. We are also a mobile app development company at the
forefront of the smartphone revolution, bringing new cutting-edge apps to the
table every passing day.
Android: Reigning Supreme in the US
Witnessing a potential medal-winning
athlete regaining lost ground and coming to the fore, is a wonderful and
breathtaking sight. Compare the life span of the Android OS to such an athlete,
and you will find surprising similarities. Always touted to be a frontrunner
for the best OS spot, Android has garnered undying admiration from users and
developers alike. Many an Android app development company has made a fortune
leveraging the capabilities on offer from this OS.
Rising like a gladiator fending off
competition in the Colosseum, Android has upstaged and stunned many leading OSs
on its ascent. A recent survey shows that Android has made up for lost ground
and once again built a steady lead over the Apple iOS. The first quarter of the
year seems to portray Android’s market share at a whopping 61%. This means all
the other mobile operating systems such as Apple iOS, RIM and Windows Phone
hold a cumulative market share of only 39%. This is great news for offshore Android development companies as they can prepare in earnest for a rise in the demand
for cutting-edge and highly intuitive apps. Smartphone sales are also up,
accounting for 66% of all handset sales in the US.
Market Share Highlights for Android:
- Increase in market share after poor holiday season
- Market share up to 66%
- Relegated all other smartphone OSs to a total market share of 39%
- Claims 90% of market share combine with Apple iOS
- Smartphone sale up to 66%
All these are encouraging trends that
point towards the need for rapid Android app development. GoodCore is an Android
app development company that has been sensing the Android OS pulse right from
its inception. Priming its team for the tremendous boom in the requirement of
Android apps, GoodCore has delivered path-breaking apps to clients around the
globe. Proving to be a trusted offshore software development company, GoodCore’s Android
development capabilities have earned it a wide base of esteemed clients around
the world. If you want an Android developer for hire, approach GoodCore. When
you hire Android developers from us, you don’t just hire talent, you hire an
assurance of complete satisfaction!
An AVG Safety Net for Android Users
The
independent Android app marketplace has been a favorite
haunt for the burgeoning Android user community. As the number of users and the
acceptance level of Android as an operating system go on increasing, more and
more enterprises and entrepreneurs will look to outsource Android development
for conceiving an innovative app that generates high ROI. The only concern that
plagues the Android app development arena is safety. When downloading or
updating an existing app there are chances that malware may also sneak into
your phone or tablet.
Not
anymore! AVG, one of the leading security-suite makers has partnered with independent Android marketplace and
Livewire (mobile content provider) to ensure that all apps hosted by them are
scanned for malware before being made available for download. Going one step
ahead, AVG has also decided to offer their free Android security app,
Mobilation for installation on mobile devices for scanning apps after updates.
Coming
from the stables of a security-suite provider like AVG, who provided the widely
accepted and appreciated safe e-mail scanning service; this should put Android
app development companies across the globe at ease.
Advantages:
- Free Android security App – Mobilation
- Clean app download experience
- Safe updates and downloads
- Secure “Download to Update” safety promise
- Possibilities of security being extended to other mobile content provider
Tuesday, 7 August 2012
Love blooms over the Internet, Courtesy - Facebook
23:09
Facebook Application Development, Facebook Apps Development, Facebook Development, Web Application Development
2 comments
Gone
are the days when you had to prep yourselves and attend parties and fashionable
events to find a date. With the advent of the web and the social networking
revolution, dating portals have sprung up like mushrooms after a spell of rain.
Many a web application development company has developed cutting-edge dating
and match-making portals that allow you to browse through hundreds of profile
and find your perfect match. There’s something for everyone; from people
looking for serious love and relationships to individuals seeking casual dates
and flings with no strings attached. Raking in millions via urging the young
and the old alike to create paid profiles and to upgrade memberships to get
better hook-ups, online dating and match-making portals have been on an
exponential rise.
But
wait; when its social networking we are talking about, how can Facebook be left
behind? According to recent reports, AreYouInterested.com is SNAP Interactive Inc.’s
ace in the glove on Facebook with more than 13 million average monthly users.
An ingenious creation by Facebook app developers, this application allegedly
adds up to 50,000 users per day; more than double that of other portals such as
Match.com. Designed to cater to the flirtatious and young at heart,
AreYourInterested.com is lean at its core with a small team managing it, as
compare to the more serious and investment-wise larger Match.com.
Inheriting
the traditional ease of use of a Facebook app, AreYouInterested.com allows you
to configure it as an app on your Facebook page. You can then browse profile,
flirt with members via virtual gifts or exchange messages. With the Facebook
profile background, users get a peek into members’ information on their
profiles, and thus being able to decide if he or she is the “ONE”. There is
also the credibility factor as most of the information on dating websites is
illegitimate and false. With Facebook forming the core of this dating app, you
can be assured that what you see is what you get.
Great Expectations – From iOS 6
22:28
iOS 6 Development, iPhone Application, iPhone Apps Development, Mobile App Development
2 comments
Are you as kicked about the launch of iOS 6 this fall
as us? Apple has been redefining industry benchmarks right from the onset. Even
in the face of tough competition from Android and Windows Phone, the iOS still
garners a huge loyal base of users who swear by its sleek interface and
ubeatable utility. The latest version of Apple’s OS is all set to redefine
standards on the mobile computing platform. If you are an iPhone application development company or are looking out to hire iPhone app developers for
creating the next big iPhone or iPad app, a curtain raiser of some of the most
prominent features of iOS 6 will keep you interested.
With over 200 new features and updates to the iOS 6,
we have tried to sift through and filter out the important ones for you.
·
Siri
Right from its
inception, Siri has generated much awe and interest. Being an adept personal
assistant and knowledge navigator, Siri allows you to use your voice to send
messages, schedule meetings, make phone calls, etc. When the iOS 6 releases,
Siri will be integrated into multiple databases, allowing you to access and use
information from a variety of sources including movie and timings info for
theaters, sports news and updates, and restaurant information. What’s more, you
can actually book a table at any restaurant by asking Siri to do it via its
visual interface. Launching apps will be that much easier as Siri takes over
this task. Rumors are rife that Apple will make Siri available in cars and that
too at the push of a button. To be known as “Eyes Free”, this technology
amalgamation is said to include all major automakers and should be available in
all cars post 2013.
·
Social Space
The focus of iOS 6 is to
provide an enhanced social experience. To achieve this, iPhone developers have
embedded Facebook to a deeper layer on the iOS 6. You can easily share photos
and Safari links using apps via a simple Share button. Updates are also due for
Safari, Game Center, iTunes and the App Store. There is still some time left
for the launch of iOS 6 which will allows app developers to come up with their
own social networking apps too. The notification center is being spruced up to
include Facebook and Twitter, both with direct post buttons. You can use Siri
to post to both these services. Compare these updates to the other mobile OSs,
and you might feel that Apple’s joined the bandwagon quite late. But as they
say, it’s never too late!
·
Photo Streams
Sharing, viewing and
commenting on photos and images are activities that almost every social media
user engages in. The iOS 6 is all set to address this with Shared Photo
Streams. Every time you upload photos, they will be automatically delivered to
the Apple devices of the group you created. Suppose you created a group called
Pals that included your best friends. Now whenever you upload any photos, this
group will be automatically notified and the pictures will be shared with them
on their iPhones or iPads. Additionally, this feature uses the iCloud service
instead of MMS, making this entire enjoyable experience totally free. iOS 6
even addresses the issue of some of your friends not being on Apple devices. On
sharing a photo stream with them, a separate web page is created that is
publicly viewable where they can even add comments. In case Apple TV is
activated, the Apple TV screensaver displays the latest pictures automatically.
·
The Phone Experience
On the earlier version
of the iOS, a call could be received on your iPhone by swiping the screen, and
it could be dismissed by depressing a button located at the top of the phone.
The iOS 6 is smarter; it allows you to slide the on-screen phone icon
vertically to reveal options, such as “Remind me Later” and “Reply with
Message”. These options are further subdivided into options that let you
decided the timing and location of reminders. You also have default messages
that can be issued under “Reply with Message”. What really sets the phone
experience apart is a comprehensive Do-not-Disturb setting that blocks all
phones, emails and messages. You can customize this setting for a number of
hours, thus putting an end of the sudden light-based notifications of receiving
an email when in the middle of something important. Further customization also
allows you to configure some calls to be ut through to you. A custom group can
be created that can reach you in spite of the Do-not-Disturb setting. If you
receive a call from the same number twice within a span of 3 minutes, the call
is pushed through as the OS perceives it as an emergency. Smart, isn’t it!
·
Navigation with Maps
The iOS 6 improves on
all its predecessors by integrating a better Maps app. Ditching Google as the
service provider for maps, Apple has now used its own extensive talent pool to
come up with a seamless navigation app that is sure to wow users across the
world. The app now features a direction arrow, bookmarks, and an address bar.
Using vector graphics, the rendition is smooth along with clear text. Along
with the current finger gestures, the new Maps are all set to be rotated and
tilted using 2-finger gestures. The Flyover feature provides 3D top views of
major cities and you can use Siri to provide you a voice-based turn-by-turn
navigation experience. The display also provides driving instructions and
traffic information is procured from other iPhones in the area. The maps are
intelligent to provide alternate routes to beat the traffic.
The Apple iOS 6 will be out this fall, almost in
tandem with the new iPhone. We will keep our eyes peeled to ensure we have all
the latest information of this interesting hot mobile development segment. We
are a company that provides offshore software development services to clients
across the globe. Being a leading iPhone app development company, we are
attuned to the latest developments in the iPhone development arena. You can hire iPhone experts from us to create or fine-tune your app, so that it’s ready for
the big occasion – the launch of the iOS 6.Monday, 6 August 2012
Augmented Client-side Storage with HTML5 in ASP.NET
If you are designing and developing a website using
ASP.NET then this forms a pertinent question for you. How do you want to store
application data on the client side? The optimal solution that any .NET development company would prefer is HTML5 Web Storage. Being a streamlined data
storage mechanism, HTML5 stores data at the client’s end as key-value pairs.
At the server-end, data storage is never an issue with
RDBMS solutions. Traditionally, dedicated .NET developers used to store data at
the client’s end in the form of cookies. W3C provides 5MB per origin storage
space for HTML5. Juxtapose this with the size for cookies (4MB), and the reason
is evident why HTML5 Web Storage should be preferred. But, let’s not jump to
conclusions as there always is a catch to every situation. Cookies are passed
instantaneously between the client and server automatically, in sync with a
website’s every request. Web Storage does not do this, and you need to
establish a programmatic construct using methods like JQuery to call a Web
Method or a WCF service. The data in the Web Storage cannot be cleared by
setting an expiry, unlike Cookies. You again would need to adopt a programmatic
approach for the same or use a browser-based UI dialog box for clearing the
same.
You can implement Web Storage in two forms; session
storage, which lasts as long as the current instance of the browser exists or
local storage, where data persists across multiple sessions. These can be
manipulated using the sessionStorage and localStorage attributes of the window
object. Single transactions are where session storage is ideal as data ceases
to persist as soon as the user shuts down the browser instance. In local
storage, the data is trans-session persistent and therefore can be used for
future access to the same website. Even closing the current browser instance
does not remove the data. Below are some of the key-value pairs with almost
identical properties and methods for session storage and local storage:
setItem()
– stores a key-value pair in the respective Web Storage objectgetItem()
– retrieves value of a specified key from the respective Web Storage objectremoveItem()
– removes a specified key-value pair from the Web Storage object under considerationclear()
– removes all the key-value pairs from the Web Storage objectkey()
– takes a 0 based index and returns key name at that indexLength
– returns the total number of key-value pairs present in the Web Storage objectremainingSpace
– returns the amount of storage space in bytes still available for storing data. This property is specific to IE. Other browsers may implement similar property.
You can now go ahead and implement one
these methods for storing application data at the client’s end. At GoodCore, we
are always on the hunt to redefine programming paradigms. Optimizing processes
and developing new ways to reduce product development lifecycles is an inherent
goal at GoodCore. Being an offshore software development company, we provide
cost-effective offshore .NET development services that are world-class and are
sure to help you conceive the web application of your dreams in reduced
timeframes.
Subscribe to:
Posts (Atom)