Altabel Group's Blog

Posts Tagged ‘Web

JavaScript is the most accessible cross-platform language nowadays. It’s used both on front-end and back-end website development.

Using it Altabel developers create web-apps which includes offline mode, desktop apps, apps for smartphones and tablets, add-ins for Microsoft Office, SharePoint and Dynamics. And if you don’t get acquainted with JavaScript yet we strongly believe that you should do it immediately!

I reckon many of us know there are plenty of different languages compiled in JavaScript. It’s CoffeeScript, Dart, GorillaScript and others. To be fair some of these languages are fly-by-night creations that have never really taken off in the wild. But many of these languages are major engineering efforts with large ecosystems and large corporate backers. With so many frameworks and languages out there it can be difficult to figure out which one is the best.

In 2012 Microsoft analyzed the situation and created a new language with a possibility of dealing with problems and using existing JavaScript insights. Thus, a free open source programming language TypeScript was developed and maintained by Anders Hejlsberg (co-creator of Turbo Pascal, Delphi and C#). From the very beginning the new language started expanding rather quickly due to its flexibility and productivity. Considerable amount of projects written in JavaScript began to transfer to TypeScript. Popularity and relevancy of the new language leaded to the fact that lots of TypeScript ideas became the part of new JavaScripts standard afterwards. And moving forward the AngularJS 2.0 version (today one of the most popular web frameworks) was completely written on TypeScript with the help of Microsoft and Google.

But why TypeScript?

Let’s review main reasons of its popularity:

  • TypeScript is a typed superset of JavaScript. In other words any valid JavaScript code is also valid for TypeScript.
  • TypeScript may be used to develop JavaScript applications for client-side or server-side execution.

Microsoft’s TypeScript seems to generate the most attractive code and is considered to be one of the best JavaScript front-ends. TypeScript adds sweetness, but at a price.

  • TypeScript can also be used with existing JavaScript frameworks/libraries such as Angular, jQuery, and others and can even catch type issues and provide enhanced code help as you build your apps.
  • TypeScript can be just the right fit for projects in which developers try to remain relevant without the need to learn a whole new syntax.

The ubiquity of JavaScript as a runtime has inspired people from a variety of programming backgrounds to recreate JavaScript as they see fit. And yes, TypeScript lets you write JavaScript the way you really want to.

  • TypeScript differs from JavaScript with possibility of evident static objectives, with usage maintenance of full-blown classes (just as in traditional object-oriented languages), and also with maintenance of logging on modules. It’s aimed at development speed raising, simplifying of legibility, refactoring and reusability of your code.
  • TypeScript has many additional language features but defining types and creating classes, modules, and interfaces are some of the key features it offers.
  • In TypeScript the same types are supported as well you would expect it in JavaScript. Types enable TypeScript developers to use highly-productive development tools and practices: static checking, symbol-based navigation, statement completion and code refactoring.
  • TypeScript implements many conceptions that are appropriate to object-oriented languages such as extending, polymorphism, encapsulation, accessibility modifiers and so on.
  • Lots of TypeScript features have strict rules, so various code formatting errors are excluded. Which means that the possibility of incorrect implementation or inaccurate method invocations is eliminated.
  • TypeScript potentially allows writing large complex programs more quickly. Thereafter it’s easier to maintain, develop, adjust to scale and test them in comparison with standard JavaScript.

Drawbacks

TypeScript has a number of other positive features that are out of the scope of this article. On the other hand, there are two significant minuses exist.

  • Probably, the biggest minus is entry threshold and number of specialists on the market. Nowadays there are not so many specialists with solid experience in this language.
  • In comparison with JavaScript, it’s needed more time for the development. It stems from the fact that apart from class implementation one should describe all enabled interfaces and method signatures.

TypeScript 2.0

There are some significant changes coming in TypeScript 2.0 that continue to deliver on the promise of making JavaScript scale. This includes a whole rewrite of the way types are analysed in the flow of the code and an opt-in feature that starts to deal with logic errors around the flexibility of things being undefined or null in JavaScript. Other features planned for TypeScript 2.0 include read-only properties and async/await downlevel support.

TypeScript creator Anders Hejlsberg already has plans for TypeScript 2.1 and beyond. Features envisioned for these releases include a new JavaScript language service in Microsoft’s Visual Studio software development platform and more refactoring support.

The most recent version, TypeScript 1.8, rolled out in February, includes several more features like F-Bounded polymorphism, string literal types, etc.

Conclusion

So, if you haven’t taken a look at TypeScript, I have hopefully convinced you that it is something to at least worth a bit of your time. It has some of the best minds focused on making JavaScript scale and the team is going about it in a way that is open and transparent. By embracing the reality of JavaScript and building on top of it, in my opinion TypeScript is transforming the common language of the web, for the better.

We will be happy to hear how you use TypeScript in your current projects, if you like it, if you are planning to switch to this language, what are the pros and cons in your opinion, etc. Feel free to share with your thoughts in comments below!

 

Victoria Sazonchik

Victoria Sazonchik

Business Development Manager | LI Profile

E-mail: victoria.sazonchik@altabel.com
Skype: victoria_sazonchik
www.altabel.com

Programming cells may soon become as easy as programming a computer. Just as computer software designers create programming for computers, scientists have created a programming language that allows them to design DNA-encoded circuits that can give new function to living cells.

Using this language, anyone can write a program for the function they want, such as detecting and responding to certain environmental conditions. They can then generate a DNA sequence that will achieve it.

“It is literally a programming language for bacteria,” says Christopher Voigt, an MIT professor of biological engineering. “You use a text-based language, just like you’re programming a computer. Then you take that text and you compile it and it turns it into a DNA sequence that you put into the cell, and the circuit runs inside the cell.”

In the new software — called Cello — a user first specifies the kind of cell they are using and what they want it to do: for example, sense metabolic conditions in the gut and produce a drug in response. They type in commands to explain how these inputs and outputs should be logically connected, using a computing language called Verilog that electrical engineers have long relied on to design silicon circuits. Finally, Cello translates this information to design a DNA sequence that, when put into a cell, will execute the demands.

dna

The good thing about it is that it’s very simple, without many of the intricacies often encountered in programming.

“You could be completely naive as to how any of it works. That’s what’s really different about this,” Voigt says. “You could be a student in high school and go onto the Web-based server and type out the program you want, and it spits back the DNA sequence.”

For now, all these features have been customized for the E. coli bacteria, one of the most common in studies, but researchers are working on expanding the language to other strands of bacteria.

Using this language, they’ve already programmed 60 circuits with different functions, and 45 of them worked correctly the first time they were tested – which is a remarkable achievement. The circuits were also strikingly fast, and the whole process promises to revolutionize DNA engineering. Before, it could take months or years to design such a circuit. Now, it can be done in less than a day.

Dr. Voigt’s team plans to work on several different applications using this approach — bacteria that can be swallowed to aid in digestion of lactose; bacteria that can live on plant roots and produce insecticide if they sense the plant is under attack; and yeast that can be engineered to shut off when they are producing too many toxic byproducts in a fermentation reactor.

What do you think about this rapidly developing revolutionary computer industry? Can it replace drugs and medicine in future? Can it help to cure cancer and AIDS? Will it make a living cell immortal?

Please feel free to share with us your opinion and thoughts here below.

 

Katerina Kviatkovskaya

Katerina Kviatkovskaya
Kate.Kviatkovskaya@altabel.com
Skype ID: kate.kviatkovskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

Java brings a lot of popular and user-friendly frameworks, content management systems and servers that help to simplify the application development process, website management process and much more irrespective of the size and complexity of the project. When it comes to CMS, Java possesses a host of CMSs that have been highly recognized in the market, but one CMS that has gained great popularity and attention from the developers and companies across the world is Magnolia.

Magnolia is an open source content management system which delivers exceptional simplicity on an enterprise level, combining user-friendly usage with a standards-based and flexible Java architecture. Companies such as Airbus Group, Al Arabiya, Avis and Virgin America use it as the central hub for their web, mobile and IoT initiatives. Founded in 1997, Magnolia is a privately-held company headquartered in Basel, Switzerland. The company has offices around the globe, and customers in over 100 countries.

Making a good CMS to cater the needs of the clients is never an easy task, and the developers Magnolia knows this thing better. Hence, Magnolia brings some of the much needed features and functionalities for the enterprises.

• Magnolia comes with a smart cache, a built-in clustering capabiliy and distributed deployment architecture that easily decouples authoring from publishing and the possibility to develop load-balanced public servers to bring more throughput and availability.
• It also offer code highlighting for the designers & developers, easy integration of 3rd party frameworks, extendable workflow, J2EE compliance, RSS generation & aggregation and more for the customization.
• When it comes to designing, it brings standard-based templating in JSP and servlets, unlimited page and component design, Freemarker as a template engine, custom tag library to speed up templating and pluggable templating engine for the designers.
• It brings Open APIs, advanced caching strategies, unlimited scalability, clustering & load balancing, transactional activation and tons of other performance related features & functionalities for the enterprises.
• From the security point of view, Magnolia brings flexible user permissions using role-based user management and distributed architecture, which is a need of today’s enterprises.
• It also enables team work through concurrent editing, deletion, address book, workgroup collaboration and some other features.
Apart from all these, Magnolia also enables search engine optimization, content tagging, configurable workflow, content versioning, social media integration, multilingual support, multi-site management, mobile publishing and tons of other enterprise-scale functionalities.

magnolia

However, like any other technology or platform, Magnolia also has some advantages and disadvantages. Let’s take a look at each of them:

The Pros
• It’s an open source.
• User friendly, easy to use for Administrators/Content Editors/Authors
• Good set of standard components in the standard templating kit (STK)
• Very flexible, almost anything can be customized
• Vast set of open modules for many additional features
• Leverage from page-based site or navigation.
• It utilizes installer, but the WAR files can be used to redeploy it to some other place.

The Cons
• Steep learning curve
• Inconsistent or lack of documentation
• Configuration via JCR-Tree can be error-prone and not very transparent
• Versions -4.5, 4.5+ and 5 all have shifts in paradigms
• Versioning and collaboration

All in all, Magnolia is a very promising CMS that integrates well into an enterprise java stack. It is predominantly suited for medium to large businesses where processes need deep integration and customizations. With regards to small businesses, Magnolia might be somewhat of an overkill.

How about you? Did you have a chance to work with Magnolia CMS? What is your attitude to it?

Please feel free to share with us your thoughts and experience here below.

 

Katerina Kviatkovskaya

Katerina Kviatkovskaya
Kate.Kviatkovskaya@altabel.com
Skype ID: kate.kviatkovskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

The Go Programming Language (Go) is an open-source programming language sponsored by Google and created by Robert Griesemer, Rob Pike, and Ken Thompson that makes it easy to build simple, reliable, and efficient software.

Go has gained popularity since it was first announced in 2009, and it’s now being used by many companies worldwide and for a variety of applications; Dropbox, Google, SoundCloud,  CloudFlare,  Docker and Cloud Foundry are some of the Go programming users.

go

Like any technology, though, it has its adherents and critics. Here are some key benefits and perceived drawbacks of the language as told by experts familiar with it.

Pros:

  • It is fast. And not only fast in the sense that programs written in it run fast when compared to other common languages; but also fast in the sense that its compiler can compile projects in the blink of an eye. You can even edit and run Go programs directly on the Web.
  • It is a garbage-collected language. This puts less pressure on the developer to do memory management, as the language itself takes care of most of the grunt work needed.
  • It has built-in concurrency, which allows parallelism in an easier way than is possible in other languages. Go has the concept of goroutines to start concurrent work and the concept of channels to permit both communication and synchronization.
  • Go has documentation as a standard feature. That makes it easier for developers to document their code and generate human-readable data out of source code comments.
  • Go has a rich standard library which covers a lot of areas. In fact, Go is probably the only language that can claim to have a fully working Web server as part of its standard library.
  • Go’s built-in build system is both elegant and simple. No need to mess with build configurations or makefiles.

Cons:

  • Go is still a very young language and has a very young ecosystem. This means there aren’t many libraries for it yet, leaving developers to write libraries themselves. There is also a shortage of books and online courses on the language.
  • Go is simple to the point of being superficial. Go’s simplicity is mostly superficial, and in its effort to find simplicity, it threw away decades of valuable programming language progress.
  • Although Go is a high-level language, it still has low-level features such as pointer-arithmetic which does not rule out the chance of doing systems and OS programming.
  • Go’s tooling is really weird, on the surface it has some really nice tools, but a lot of them, when you start using them, quickly show their limitations.
  • It is still not so easy to learn Go and it’s difficult to handle errors in it.

What is your attitude to Go? Is it worth learning? What do you think are Go’s advantages and disadvantages? Can you tell us about a real use you have given to this programming language? Please, feel free to share your thoughts here below.
 

Katerina Kviatkovskaya

Katerina Kviatkovskaya
Kate.Kviatkovskaya@altabel.com
Skype ID: kate.kviatkovskaya
Business Development Manager (LI page)
Altabel Group – Professional Software Development

The competition in the server side programming department is getting tougher with each month, especially with the recent popularity of NodeJS. However let`s look how everything began.

PHP appeared about 20 years ago, in 1995 and ever since then it has been a number one language for back-end developers and has gathered a big community behind it. For a long time there wasn’t any good reason why not to use PHP: it`s rather easy to use PHP, it`s supported by the majority of hosting companies and it has become the most commonly used language in terms of number of websites powered by it.

NodeJS was created in 2009 and it was very unique to all the other back end languages. It`s an efficient and scalable software platform that can execute JavaScript code on a server. NodeJS uses event-loops rather than traditional threading, which makes it faster and less memory-intensive than traditional platforms. Thus the ability to use Javascript on both the client and the server and the ability of NodeJS to run asynchronously have undoubtedly lead to the rise of NodeJS and its popularity within developers and customers.

Of course, everyone has his own truth: one coder will praise the speed of NodeJS while the other will be devoted to the stability and long history of PHP. But let`s have a look at strong sides of both for you to decide whether to concern yourself with the so popular nowadays NodeJS or not.

PHP strong sides:

– Huge community and tons of materials for all programmers, from a beginner to an advanced coder.
– Deep code base. The most popular platforms for building websites (WordPress, Drupal, Joomla) are written in PHP. Not only are the platforms open source, but so are most of their plug-ins.
– Easy to find a hosting company. PHP has been the industry standard since the stone age and any hosting company still surviving is bound to be compatible with it. For Node.JS you still need to make a little research.
– Simplicity. PHP can be run inside of the same file as html.
– Speed of coding. For most developers, writing PHP for Web apps feels faster: no compilers, no deployment, no JAR files or preprocessors — just your favorite editor and some PHP files in a directory.
– Mixing code with content. You just open up PHP tags and start writing code. No need for templates, no need for extra files or elaborate architectures.
– No client app is needed. All of the talk about using the same language in the browser and on the server is nice, but what if you don’t need to use any language on the browser? PHP is a way out.

NodeJS strong sides:

– Speed. NodeJS is blazing fast compared to PHP. This is where Node really kicks assJ.
– Separation of Concerns. NodeJS separates fundamental components up giving a clear separation of concern across controllers / routes, models and views.
– New and fresh. It’s newer in comparison to PHP and has been developed by programmers who have full knowledge and understanding of modern web applications, from the server to the client, and that means more modern features.
– Modern syntax. Javascript isn’t perfect and it may drive developers crazy, but overall it’s a modern language that supports modern syntax such as closures, and you can easily extend Javascript and make any object configured to exactly how you need it.
– JSON. NodeJS is a powerhouse for JSON. Accessing SQL is possible and there’s plenty of plugins that make it possible, but JSON is the lingua franca for interacting with many of the latest NoSQL databases.
– Gridlock. NodeJS uses a callback structure to pass logic from one asynchronous call to the next meaning we never have to worry about spawning new threads or even considering the deadlock process. Almost no function in Node directly performs I/O, so the process never block which is a major implication for scalable systems.

That is a difficult decision when it comes up to decide which language or tool to choose. But NodeJS worth considering and it`s proved by the fact that Node is getting more and more popularity every day. And what is your opinion on NodeJS, is it the future of web?

Anna Kozik

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

Today I would like to draw your attention towards Business viewpoint in comparison of SharePoint and Drupal.

So let the story begin.

 Initially SharePoint was created as a document management system and has over time, through continuous expansion and new features, taken on some similarity to a content management system. So for today SharePoint is being positioned as not only an intranet platform, but also a web framework that can power big sites and be on the same playing field as other larger CMS platforms. Drupal in its turn has been developed to provide the foundation to build something, whether it’s a corporate website, web-shop, customer portal, CRM, intranet or extranet, or all at once. So theoretically, we can admit that since then, Drupal and SharePoint has seen the light, both platforms have been more in each other’s way and the debate of Drupal vs. SharePoint  has been part of their history. Still what is a wiser choice?

Time for setup

In this point Drupal knock SharePoint out. Firstly Drupal is based on PHP that makes it very easy to run on any environment. With SharePoint, it needs to run Windows locally to be able to set up even the development environment. If you do not have Windows, you will need run it on VMware or other virtualization software. In this case you will have to beef up your local machine to manage the memory requirements.

Today SharePoint Online definitely obviates the set up hassle for companies not looking for self-hosted solutions. Even so, the configuration steps are not as easy and shiny as they might look on the surface.

Drupal allows to quickly set up an intranet site or something on a public domain in a few hours. From a business point of view, you can get rolling within a few hours!

Integration with other services

In this case SharePoint definitely has serious advantage of how well it integrates with the other Microsoft services. So, if as a company you are invested in Microsoft and its other services, SharePoint is a natural choice. Firstly, you would already have Windows developers and system administrators and secondly, the tight coupling SharePoint offers with other MS services is golden.

Though Drupal can be configured to interact with other MS services, it is much easier in a non-Windows scenario.

Deployment

While SharePoint solution need to have not only developers but an in-house SharePoint system administrator to be able to carry out deployments, Drupal does not required any extra developer or CPU resources.

Activities beyond intranet

One of the claims of SharePoint is how it helps companies launch multiple websites apart from just setting up an intranet platform. Still to pull this off it requires a humongous number of human resource and the technical ability . The same can be achieved with Drupal but easier.

Maintenance against paid upgrades

SharePoint today is in a much better shape than what it was a few years ago. But  the progres has been very slow and every upgrade means digging deeper into your pockets.

With the community based model, Drupal has seen a far better progress in a much shorter time. The progress has not just been in the core platform but also the kind of plugins and extensions for rapid site assembly available to make Drupal a fuller platform.

Look

In the market Drupal being an open source option has a lot of low cost and free available themes, that can be integrated without much effort. SharePoint  in its turn charges for the themes and plus designers have to know XSL to be able to tweak the themes.

Cost

What do you think who will have more advantages if we compare an open source option with a Microsoft product? JStill it’s important to note that, SharePoint as an online hosted solution is much more affordable than its predecessor downloadable versions. The licensing fee and the developer licenses were prohibitively high which now can be circumvented by going for the online versions.

From business point of view open sourсe solution seems more profitably than corporate one and Drupal wins. Still if we compare them from technical point of view…who knows, may be the Microsoft’s family product will gain revenge. It would be interesting to know your thoughts about it.

Elvira Golyak

Elvira Golyak
Elvira.Golyak@altabel.com
Skype ID: elviragolyak
Business Development Manager (LI page)
Altabel Group – Professional Software Development


%d bloggers like this: