Altabel Group's Blog

Posts Tagged ‘.NET

If you follow our blog regularly you probably remember that my last post was dedicated to Sitecore CMS. This time I decided to represent for your review one more powerful at the same time arguable CMS – Magento. Magento as well as Sitecore CMS is meant to build big things but this time in the world of ecommerce: helps to create online stores.

As the field of ecommerce is tending to grow and develop continuously IT solutions try to meet the needs and offer the best solutions to make it extremely innovative, make the managing process easier for holders and of course attract as many customers as it is possible. There are many CMSs for this purpose like PrestaShop, OpenCart, osCommerce, phpShop, Spree, nopCommerce and others. The choice of CMS depends on what kind of eCommerce/business you intend to go on. You need to take into account such aspects as the size of your firm, whether you haveB2B, B2C or you’re retail, what management system you use or you will use ecommerce platform for that, connection of you websites with other sales channels, your programming skills: PHP, .NET, etc.

So as you may see there are many CMS available today, the choice depends on what type of business you have and type of software you use. Nevertheless, beyond the rich variety Magento is considered to be one of the front runners.

Almost all claims that Magento is rather complicated system as it is built on Zend framework; however has a lot positive aspects. Generally it is characterized as big, complicated and powerful CMS/platform that provide excellent and multiply options to grow you website.

Magento is also very serious CMS and there is no doubt that it is not for everybody. It is tool for professional rather than for amateur.

-It rather complicated to use and work on it for its coding style, so be prepared to spend/charge from your development team twice more hours than usual. Also if you’re not experienced in coding or working with this CMS we would offer to hire skillful developer/development team with proven past experience to help you with that. Based on our experience working with Magento you should be prepared that the development process could take much more time as you will need to learn all the curves that CMS has.

- Magento is extremely powerful offering a wide range of customization options. It is easy-editable gives an opportunity to improve the code regularly by making updates and fixing bugs. And what is important here is that code itself doesn’t require any changes!

- One more aspect is the rich variety of features that makes Magento so flexible. Let’s now review the key features of Magento:

  • International support – multiple languages and currencies, list of allowed countries for registration, purchasing and shipping, localization;
  • Site Management – control of multiple web sites, multiple languages.
  • Catalog Browsing – easy navigation, advanced product filtering system, product comparison.
  • Catalog Management – inventory management, batch import and export of products, different tax rates per location, additional product attributes.
  • Analytics and Reporting – integration with Google Analytics and offers different reports.
  • Payment – different payment methods: credit cards, PayPal, Authorize.net, Google Checkout, ePay, etc.
  • Marketing Promotions and Tools– coupons, discounts and different promotion options.
  • Encryption Key – security storage of the sensitive data in the script’s database.

 

It is also scalable and it grows with your business. That’s the point why it is mostly recommended for mid to large size vendors.

Additionally it should be said that Magento team offers 24/7 live support. Of course it is not super fast but at least it works and you never know when you will need immediate help. Moreover it has video tutorials, good knowledge base, webimars, user guides and support forum. As Magento has three versions the opportunities of each version differs: Community Edition (downloadable version, you will need to find hosting and security for your store), Magento Go (cloud based of hosted Magento CE, preferably for small retailers) and Enterprise one, the last is complete ecommerce solution, fully supported and it is not cheap. Here it should be noted about technical support: Community version has an access only to the forums that are not so active mainly because Magento is relatively new and don’t have yet many followers. So there is no guarantee that you get an advice you need.

And at last as Magento is open source CMS it is free and you don’t spend your money to download it. But you will need to invest if you want to have store live.

At the same time (there is always the other sideJ) there are gaps (that make this platform a bit vulnerable and look unfinished) that need to be improved too. We have a made a short list of them:

  • Slow – Many reports that the software is clunky and suffers from slow load times.
  • Expensive – Even it is open source and free it will end up costing you after you add up hosting, security, and developer fees.
  • No Customer Support – Magento CE users have no access to technical assistance with the exception of a forum.
  • Requires Coding Experience – it requires users to have technical skills and experience in order create and launch stores. It is not for amateurs or hobbyists.

Some more aspects to consider:

  • Confusing and hard to learn.
  • Difficult to implement templates.
  • Not much themes to choose.
  • Software updates don’t work always properly.

To use Magento or not?

In my opinion Magento is proved to take one of the leading positions and has potential to save it. It has many positive aspects and if your business is well developed and you have large list of items to put online, you need to consider Magento and invest money in it. But of course be prepared for serious work with all the curves if you don’t have much knowledge in programming or take care to choose the development team wisely. And certainly don’t forget about tech support, Magento CE don’t have it.

In case you still considering whether adopt Magento for your business or not, feel free to share your personal experience with us leaving your comments below or contact me directly if you need assistance with your ecommerce shop to discuss the details.

Thank you for your attention!

Katerina Bulavskaya

Katerina Bulavskaya
Katerina.Bulavskaya@altabel.com
Skype ID: katy.bulavskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Developers are in a unique position to educate and to capitalize on cloud opportunities. Unlike learning new programming techniques or Frameworks, cloud learning moves beyond development. There are infrastructure aspects to consider as well as potential organizational process and policy changes. However, developers know the application and cloud administration is a much lower bar, than, for example network administration. If you’re looking for a strategy to follow to cloud enlightenment; you’re reading the right article.

Give the Cloud a Whirl
When it comes to the cloud, don’t wait for the storm to hit you, but rather educate yourself; there is no substitute for experimentation and hands-on experience. Start by separating reality from marketing. Almost every cloud vendor offers a free trial. For example: Microsoft Azure offers a free trial. If you are truly new to cloud development; imagine borrowing a company server for 3 months; only there is no setup time. Just turn in on and away you go.

Given that experimentation time is limited; go for breadth rather than depth. Get a taste of everything. What most developers find is; after some initial orientation and learning the experience becomes what they already know. For example: Azure has an ASP.NET based hosting model called Web Roles. After configuring and learning Web Role instrumentation, the development experience is ASP.NET. Learning Azure Web Roles amounts to learning some new administration and configuration skills; coupled with a handful of new classes. The rest of what you need to know is nothing new if you’ve done ASP.NET!

Developer must keep their time constrained. Struggling for hours with something new is often not worth the effort. One should question wide adoption of something that will be difficult to work with. Cloud offerings are typically not niche or differentiating skills like, for example, SQL Server tuning.

Whatever cloud option a developer starts with; understand the authentication options. Intranet developers typically take authentication for granted. ASP.NET makes authentication look easy. Consider all the moving parts involved in making authentication automatic and secure. Understanding authentication is especially important if parts of an application will live within the organization’s datacenter and within the cloud provider.

Finally, look for the right opportunities to apply these new skills.

Navigating the Fog
Most developers are adept at picking when to jump on new technology and when to pull back. Unlike adopting, for example, a new Web Services approach; adopting a cloud option entails learning a little more administration. The cloud can give a developer total control, but the cost is learning a bit more administration.

Developers may find themselves in new territory here. Typically a “hardware person” selects a machine and a “network person” selects and configures a firewall. Cloud portals make network and server configuration easier, but the portal doesn’t eliminate the configuration role. The public cloud handles the hardware; but the developer must choose, for example, how many; CPUs, servers, and load balancers will be needed. This lowers the administration bar, but also might place the burden on the developer.

The cloud will not be the right option for every project. Give the cloud a fair chance. Decision makers may have two reactions to cloud; outright rejection or wild-eyed embrace. Neither reaction is healthy. There is middle-ground. Don’t let unrealistic expectations set by marketing brochures guide the first project. A developer’s experiences described earlier in the article will be helpful here. Set the bar low. Make the first experience a good experience.

Supplementing with the Cloud
One potential approach is to supplement with the cloud. Let the cloud handle some part of the application. For example: requirements may dictate a web page to handle user registration. Registrations often have deadlines and, given human nature, people often procrastinate. Registration traffic is likely to spike the week or a few days before the deadline. Rather than purchasing servers to accommodate the spike; leaving usage idle for most of the year, do registration in the cloud. Dial up more servers the week before registrations are due and dial the server could back down the week after registrations are due.

Aside from technical change; cloud adoption may require organizational change.

Clouds Don’t Work in a Vacuum
I would bet good money that most developers reading this article have no idea which ports in their organization are closed to incoming TCP/IP connections. However knowing who to ask is far more important than what is known. In some sense every organization is its own private cloud. Networking professionals have been connecting things together longer than developers. Internet performance is considerably different than Intranet performance. Cultivate relationships with whoever operates your Firewall.

Passing through a Firewall is overhead. Your organization’s infrastructure may not be cloud ready. Though if your network people banter about DMZs; chances are your organization’s infrastructure is probably cloud ready. As stated earlier authentication is important to cover; forcing users to authenticate multiple times within an application is intolerable to most users.
Budgeting for servers may be different than budgeting for compute cycles. There may be concern over whether compute cycles will amount to more than purchasing a server or two. There is no shortcut here. Just like any other budgeting a developer must do the math. Again, this may be new territory for developers. Typically developers aren’t asked how much storage an application requires. Typically the storage cost is spread throughout the projects an organization conducts. Budgeting difficulties may be a good reason not to do a project. The upside is; after doing the math a developer will likely find that costs are far below buying the hardware.

Conclusion
The cloud gives a developer control over all components from administration to assemblies. Added control comes with a price. A developer must venture into some new territory. This article provided a path to follow.

What is your opinion on cloud opportunities? Is it worth to give a trial? What is your personal experience in adopting a cloud option? Maybe you have some thoughts to share!

Polina Mikhan

Polina Mikhan
Polina.Mikhan@altabel.com
Skype ID: poly1020
Business Development Manager (LI page)
Altabel Group – Professional Software Development

ASP.NET seems to have more and more quality options regarding extensible content management systems with each passing year. Depending on your needs, there are excellent options available both with commercial licenses or open source code.

In our blog, we have already tried to gather information about PHP and Java web frameworks, and in this article I`m going to present you a list of open-source CMS for .Net that, in our opinion, are worth taking a look at.

DotNetNuke (DNN for short)

If you are looking for something stable, DDN will be the answer. This CMS has been around for a while and DNN is probably the most well known and popular of all the .NET CMSs presented in my list. It`s is a web content management platform used to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. It`s available in a free Community and subscription-based Professional, Elite and Elite Premier Editions. Community edition contains most of the features which comprise the other editions, but the support is left up to the community. The Professional Edition gives you support from the DotNetNuke Corporation along with a few more features, and for a (much) increased price, the Enterprise Edition gives you a few more features along with phone support.

Kentico

Another Asp.net based CMS offering multiple licensing options is the Kentico CMS. The free license requires you to keep the logo and copyright information on your page, but the commercial versions offer support and allow you to work without the branding. This CMS allows building dynamic web sites, online shopping carts, intranets and web 2.0 community sites. Kentico CMS is designed to be easy to use for even novice users, so web development should go fast with someone who is experienced. It has powerful content editing interface – Kentico CMS Desk, which allows a user to edit content and preview it before publishing, also it`s easy to organize content into a tree hierarchy of documents (pages). The hierarchy (content tree) represents the site map and the navigation structure.

Umbraco

Umbraco CMS is free and open source Web CMS built on the Microsoft .NET Framework. It provides a full-featured web content management system that is easy to use, simple to customize and robust enough to run the largest sites such as wired.co.uk and asp.net. Umbraco CMS has recently become very popular with designers and web developers due to the open templating system and ability to build in guidelines that automatically format the content writers provide. Also, it uses ASP .NET “master pages” and XSLT, so there is no necessity to work with a heaped-together templating format. It’s written in C# and is happy to work with a variety of databases, so hosting shouldn’t be a problem.

N2 CMS

N2 CMS is an open source lightweight CMS to create simple and user friendly website. N2 CMS contains a package of functional templates with News, Wiki, Photo Galleries, FAQs, RSS, Data Entry, Polls and more. Features include full control of content and nodes, drag&drop, versioning, wizards, export/import, security, globalization and more.

Orchard

Orchard CMS is Microsoft’s hand in the open source world. It`s community focused and is supported by full-time developers from Microsoft, that develop components and scripts that are open tools for developers to create applications. With the help of Orchard CMSO, it`s possible to create content-driven Websites. While this CMS may be a bit slow and some of the things you’d expect in a more robust CMS might be missing, there’s several fantastic back-end features and it`s a CMS that is worth considering when choosing a technology for your project.

Sitefinity

Sitefinity is the most modern .NET web content management platform available on the market today. It offers many enterprise features, and simple, easy-to-use online administration tools for managing your website. The new revolutionary User Interface is very task oriented and simplifies the user interaction with the system. Sitefinity has 6 available license editions ranging from free for personal use, to $499 for small businesses, and custom pricing for the Enterprise and Multi-Site Editions. Currently Sitefinity is responsible for powering thousands of websites. Some of their most prominent government websites include: The White House Federal Credit Union, United States Courts, Downtown Fort Worth, and the Canadian Securities Transition Office. Other customers include: Toyota, Vogue, IKEA, Chevron, Bayer, and Coca-Cola.

Certainly the list of CMSs can go further and further and every CMS has its advantages and disadvantages. I`ll highly appreciate if your share your opinions and experience on using these CMSs and adding your favourite CMSs to the list.

Anna Kozik

Anna Kozik
Anna.Kozik@altabel.com
Skype ID: kozik_anna
Business Development Manager (LI page)
Altabel Group – Professional Software Development

When a developer faces the necessity of creating a web application using Microsoft.Net, he/she needs to choose which .Net framework to choose. Then the question arises: which one is the best one?

In this article a general outline of best ASP.Net Web Application Frameworks is given with the focus on their positive sides. Let’s start.

ASP.NET MVC

ASP.NET MVC is a part of the ASP.NET Web application framework. It is one of the two different programming models you can use to create ASP.NET Web applications, the other being ASP.NET Web Forms.
ASP.NET MVC brings the power of this development paradigm to ASP.NET development, allowing you to use your .NET development skills to create MVC applications.
It gives you total control over your HTML Markup as well as enables rich AJAX and jQuery integration. It also allows you to create SEO-friendly URLs for your site and makes Test Driven Development (TDD) easy. Besides, it enables a perfect and clean separation of bugs and concerns, helps in creating and building dynamic websites and web application that are rich in user interface.

DotNetNuke

DotNetNuke is a free, open source and easy to use application that is particularly based on web content management system along with web application framework which comes and is working perfectly with Microsoft .NET platform.
DotNetNuke is developed on the powerful Microsoft .NET platform – Windows server, IIS, SQL Server 2000, and ASP.NET (VB and C#). It can run on almost any database server, as long as someone has created the necessary provider (third-party providers include Oracle and mySQL). The flexible technical requirements make it possible to install and evaluate DotNetNuke on almost any computer.
DotNetNuke is offered under a nonrestrictive BSD License, a standard open source license that allows for full usage in both commercial and noncommercial environments. The BSD, well-documented ASP.NET source code, an active developer community, and a modular architecture make it possible to customize DotNetNuke and leverage it as a mature Web Application Framework. For end users, all DotNetNuke requires is a Web browser and an Internet connection.

OpenRasta

OpenRasta is an open source development framework targeting the Microsoft .NET platform for building web-based applications and services. OpenRasta framework has been released under Open-Source MIT License which mainly focus on various HTTP methods as well as on development of available resources. With the help of this, user can now create user friendly Web Interface by its web application framework.
OpenRasta however does have many MVC features and can serve as a full-fledge web application framework.
OpenRasta’s strengths lie in it’s comprehensiveness, wide range of features, active development and support community plus good documentation. OpenRasta’s weaknesses are similar to other frameworks in that is not as approachable as Web Forms and is intended for experienced developers. Hosting of an application built on OpenRasta is available through ASP.NET, in-memory, in-process through Windows’ HTTP APIs, or through any other environment able to receive HTTP requests, as the framework itself has no dependency on ASP.NET.

MonoRail

MonoRail is an Asp.net MVC based web application framework which has been inspired and designed from Action Pack. This tool offers completely different approach towards development of application towards standard WebForms way of development.
It also enforces handling application flow, separation of concerns, troubleshooting, model representation as well as viewing the application from the presentation logic point of view. This also means that your will have to write less code and result would be more maintainable application.

CSLA.net

CSLA.net is an Asp.net MVC based web application framework that is particularly used for development purpose. It allows you to design and develop applications for various kind of services like for Windows, Web, service-oriented and also for work-flow applications. One of the best advantage of using this tool is that it reduces the cost of developing, building as well as maintaining applications.
It performs various action of collecting data and storing them into the database application along worth creating user friendly interface. This is one of the most widely used framework which allows developers to use the power of object oriented design which will result out in developing powerful web applications.

Thanks for your attention :) Hopefully, this article was informative and useful for anyone who read it. And do you have any comments? Looking forward to hear your opinion on best ASP.NET Web Application Frameworks!

Kind regards,
Yuliya Tolkach – Business Development Manager (LI page)
Yulia.Tolkach@altabel.com
Altabel Group – Professional Software Development

This time as a part of cross platform development I’d like to make a short review of Mono project’s implementations/frameworks – MonoTouch and Monodroidthat allow creating applications using .NET framework and languages.

MonoTouch is a framework that allows developers create iPhone applications using the compilation of C# and reusing the existing .NET source code, libraries and skills.
The MonoTouch includes:
• Mono for the iPhone, iPad and iPod Touch
• C# and .NET compilers – on the iPhone you will need to compile the existing C# code and tools with the help of MonoTouch compiler to make sure that all the assemblies are referenced.
• .NET Bindings to Native APIs – MonoTouch compiler turns to compile the .NET libraries and base assemblies to create native iPhone applications.
• Mac oriPhoneSDK -includes the Xcode IDE, iPhone Simulator, and a suite of additional tools for developing applications for iPhone, iPad and iPod Touch.
• MonoDevelop Integrationhelps developers to integrate all features/toolsets from the integrating.NET platform to the target iPhoneenvironment from zero in no time
• Libraries that bind the native CocoaTouch APIs – toolsets that help to create native application interfaces for iPhone, iPad and iPod Touch

Mono for Android (MonoDroid)is a software development environment kit that allows to create the applications that run on Android phones and tablets.
Mono for Android consists of the core Mono runtime, the Mono for Android bindings to the native Android APIs, a Visual Studio 2010 plug-in to develop Android applications and an SDK that contains the tools to build, debug and deploy your applications. The Visual Studio 2010 plug-in allows developers to use Visual Studio 2010 to develop, debug and deploy their applications to an Android simulator, an Android device, or the Android Application Store.

What’s new?

Being the customer of Mono product you get one-year subscription to its product updates. The updates engaged the bug fixes and API changes. You could check the latest updates for Mono on the website called Xamarian Developer Center following this linkhttp://docs.xamarin.com/.
One of the latest upgrades released in May of 2012 by Xamarian Mono for Android is considered the research project called XobotOS.
XobotOS – the attempt to put C# code in the place of removed Java code in Android operating system. The idea is to write native code using C# instead of Java seems to extend the opportunities of Mono project. As the developers say the transition from Dalvik to Mono virtual machine performed good results like high-performance and low-battery consuming. Sharpen was chosen as the tool convertor for porting million lines of Java code to C#. It was upgraded for XobotOs and presented as its part release. The next goal of the company isto provide the direct access to the graphics library Skia for building applications.

What is the pricing?

Monotouch/MonoDroidare available in Professional Edition and Enterprise Editions: Monotouch/MonoDroid costs $399 for the entry level Professional edition and $999 and $2,499 for the Enterprise and Enterprise Priority version. A trial version is available which isn’t time limited but only allows deployment to an iPhone simulator.

Summary

The development of applications using cross platforms development approach seems to give the right idea for the developers how to manage with different environments and languages. Having reviewed the Mono project frameworks the advantages both of them may be summed up as follows:
- Applications written in C# for Android (MonoDroid) could be easily ported to iOS (MonoTouch);
-The source code written on C#, could be reused in MonoDroid and MonoTouch;
- The full support of C#: Language Integrated Query (LINQ), delegates, lambdas, events, garbage collection and many other features
- The support of Visual Studio and XCodefor bothMonoDroid and MonoTouch
- New challenges and updates guides

If you know something about programming with MonoTouch/ModoDroid and you have anything to add to my review, please, feel free to share your thoughts and experience on this point.

Best regards,
Katerina Bulavskaya
Altabel Group – Professional Software Development


%d bloggers like this: