Posts Tagged ‘CSS’
Posted September 10, 2015on:
– Prototype-based Inheritance
– Asynchronous event-driven programming
– Functions as objects
Frameworks and Libraries
Open-source web application framework. It aims to simplify both the development and the testing of such applications by providing a framework for client-sidemodel–view–controller (MVC) and model–view–viewmodel (MVVM) architectures, along with components commonly used in rich Internet applications.
3) Meteor (MeteorJS)
6) Ext JS (Sencha Ext JS)
7) D3.js (D3)
Business Development Manager
Professional Software Development
There is no doubt that mobile industry is one of the most intensely growing nowadays. Any product that earlier used to be desktop or web is moving towards going mobile. Everyone is taking designing experiences for smaller screens seriously. As for the web, we’re seeing swarms of recently updated sites that are employing responsive design or more mobile-friendly layouts. This is quite critical, especially when you consider that accessing the web from mobile devices is on track to surpass desktop usage in a just a year or two.
With so many mobile apps/sites out there you have to do all it takes to deliver a good mobile product that will be competitive on the market. The key input for success here often is conditioned by the convenience of mobile services. You have to start predicting what the customer wants to see when they try a mobile application or website. The use of mobile context in delivering mobile experience is just one of the big challenges that application developers face. Here’s a number of the most important challenges we see.
1. Mobile Context
There has always been emphasis on context – the idea of being sensitive to where users might be and what they might be doing at the same time that they’re using your app/site. Is a user in line at the grocery store or on the living-room couch? Is a user connected to the Internet via Wi-Fi access, with fast page loads, or an infuriatingly weak Internet connection? Are both of the user’s hands holding the device in landscape orientation, or is the user using only the right thumb to navigate the interface in portrait mode? We have to think about all of this. Basically the customer’s mobile context consists of:
Preferences: the history and personal decisions the customer has shared with you or with social networks.
Situation: the current location, of course, but other relevant factors could include the altitude, environmental conditions and even speed the customer is experiencing.
Attitude: the feelings or emotions implied by the customer’s actions and logistics.
Getting a good contextual awareness will require collecting information from many sources. For instance it could be mobile device itself, the local context of devices and sensors around them an extended network of things they care about and the historical context of their preferences. Gathering this data is a major challenge because it will be stored on multiple systems of record to which your app will need to connect.
2. Device Proliferation
Another challenge facing mobile developers is device proliferation. It looked like mobile app development process was pretty well defined: build your app, make sure it looks pretty on a 4-inch smartphone and a 10-inch tablet, then submit it to an app store. Most app developers prioritized a few popular devices, such as the iPhone, the Samsung Galaxy S III and the iPad.
It’s not quite that easy now, and it’ll be much tougher in the near future. Picking the most popular devices will become more of a challenge as device types and platforms proliferate. Google and Apple already support tablets of different sizes and, with Windows 8 now shipping, developers can expect to find a whole range of larger touch-sensitive devices, such as Hewlett-Packard’s Envy series.
3. Voice rather than Touch
There are a lot of situations where you would want to build voice input into your app today. For a running or fitness app, a phone is likely to be strapped to a person’s sweaty arm. The same is true while driving. Modern applications are to let people use their devices while keeping their eyes and hands off it.
4. Hybrid Applications
With each release, popular mobile operating systems get better at supporting HTML5 and its attendant APIs. That capability will let companies reuse more code across multiple devices, which will be important in keeping app development costs down taking into account the proliferation of connected devices and form factors.
5. Cloud Powered Mobile Applications
With the power of the cloud, the mobile application market is about to change radically. Several industry analysts predict that mobile applications will gradually move to the cloud and move away from being installed and run directly from the handsets themselves. Instead, cloud powered mobile applications are accessed and executed directly from the cloud through a mobile web browser interface and several technologies facilitating this change are already available. HTML5, for example, is necessary for enabling caching on the handset, so that users will experience uninterrupted service levels despite fluctuations in network service delivery.
Cloud powered mobile applications are not limiting their choice to one platform. Application developers also have real advantages from mobile cloud computing. The largest benefit is that it allows them to have access to a larger market. This means developers will have a much wider market which means they can bypass the restrictions created by mobile operating systems. But with greater developers’ power comes greater responsibility for security and performance. Expect more developers to be on call for application support in the new model, using triage to handle defects and investigate degradation to production services. Those tasks have traditional been the domain of systems administrators. Expect IT operations personnel to become integrated into development teams and to start their work at the inception of an idea.
I think the challenges mentioned are some of the most important ones. What are the challenges you have already faced in the mobile development? Even more interesting to hear about the challenges you are envisaging for the near future! As usual many thanks for sharing your thoughts!
With the growing popularity of smartphones, tablets and other mobile devices the living has become more comfortable. The different types of apps help us to wake up in time, to entertain reading books, booking tickets, listening to favorite music and just chat with friends without extra expenses. Among the challenges in mobile app market stands also the developing of effective web browsing solutions.
In this article I would like to take a look at DHTMLX Touch framework that helps to create nice-looking and easy-to-use mobile web apps oriented to touchscreen devices.
Let’s see what the characteristics of DHTMLX Touch are:
-compatible with the main web browsers for mobile platforms that support HTML5;
-free under both GNU GPL and commercial Licenses;
-lots of technical samples with the source code that simplify studying how the UI elements work;
– expanded builder tools:
• Skin Builder – an online tool that allows you to build mobile web apps through a user-friendly, drag-and-drop interface. Since v.1.2, you can save your design or share it by sending an URL.
• Visual Designer – a simple online tool that provides an easy way to choose the skin for you app and customize the skin colors. A set of predefined skins is included.
-server side is based on the on dhtmlxConnectors (the same that used for DHTMLX Ajax library) that simplifies client –server communication;
– simplified scheme of CSS editing.
The current version of DHTMLX Touch framework took a long way from the release of its first components dhtmlxTree and dhtmlxGrid in 2005-2006 to become a complete tool that covers the most required aspects of modern application interface. Three months ago in September, 2012 was presented the updated version 1.2. And now we will see what are the new features and improvements were added:
* Bug fixing – more stable and faster performance, better compatibility with the latest iOS and Android platforms;
* Updated visual designer tool: new Unitlist component, new charts, and the ability to share and save your design;
* Auto-complete for IDEs: Microsoft Visual Studio, PHPStorm, WebStorm, NetBeans, Aptana Studio, Eclipse, and others
* Multiple fixes in form validation logic
* Better memory management: automatic destructors clean up the memory, which helps to prevent memory leaks if the app has a complicated inheritance structure
* Better support of full-screen mode
Many companies around the world make the preference towards DHTMLX saying that it’s very simple, flexible and easy-to-use with a live support forum.
If you have already an experience working with DHTMLX Touch framework or heard something about using it, feel free to share your thoughts/experience by leaving a comment.
You can also have a look at new features of DHTMLX Touch framework and the samples of apps already implemented following the link to the official website http://dhtmlx.com.
Thank you for your attention.
Business Development Manager
Professional Software Development
What does the future of Java look like? Many users see Java as stuck in a quagmire, while others go so far as to say Java is dead. Is it really so?
Java, one of the long-dominant platforms for building enterprise solutions, has been steadily evolving since its first release in 1996, with a new major version coming every one to two years. However, Java 7 has been stuck in a quagmire for four years, with the Java community struggling to refine the implementations of two of its sub-projects, Project Jigsaw and Project Lambda. However when the Java Specification Requests for Java 7 have finally been approved for release, Projects Jigsaw and Lambda were delayed until Java 8. This news has disappointed many in the community, as these two features were seen as the major draw of Java 7.
Many users see Java continuing to languish. Still the innovation needed to keep Java relevant will come from broader Java ecosystem, and not from Oracle or the Java Community Process that governs changes to Java.
The Java ecosystem, driven by the open source community, has always compensated for Java’s inadequacies.
And more and more often the community turns to new programming language paradigms, as it is uncertain whether the Java programming languages will be able to innovate fast enough to keep that attention of developers seeking the next challenge.
Java is traditionally viewed as just a programming language, but it is more than that. Java consists of three parts: the programming language, the virtual machine and the class libraries. The community has long been porting existing languages and creating new languages that run on the JVM. In fact there are over 200 programming languages that can be used to write code that runs on a Java Virtual Machine.
The beauty in using a programming language other than Java on the JVM is the most languages have interoperability. This means that you could take a new service being built in your system, write it in some other language, and still have it call an existing pure Java service or component.
This model makes perfect sense. CSS is good at defining the look and feel of a Web page, but you wouldn’t write business logic with it. SQL is great for accessing and updating relational data, but it is not good at generating a user interface. So why shouldn’t this paradigm apply to the programming languages with which we choose to build our core logic? Shouldn’t we be choosing a language that solves the problem best and not trying to force the one we know into the solution?
Another huge advantage of the polyglot JVM is that when you begin to weave these various languages together to write a single application. By taking advantages of the characteristics of various JVM languages, you can target languages for various features or layers in your architecture.
The most common argument against using dynamic languages running in the JVM is that they are slow. Although this might be true, they are getting faster all the time, and a major performance gain is expected in Java 7 with the Invoke Dynamic JSR.
Clearly, this approach is not without added complexity and there are various recommended approaches in the industry on how to evolve your application architecture into a polyglot nature.
Java remains the premiere platform for building enterprise applications based on not only its solid foundation, but its language innovations that will allow developers to build faster, scalable systems quickly. By taking advantage of the flexibility that Java has always provided and adding a polyglot and poly-paradigm approach to software development, development teams can innovate inside an existing infrastructure with little or no changes to their infrastructure, making the sales pitch to management all the easier.
Java has evolved and will continue to evolve, with this changing landscape due to the flexible nature of the java platform. This is the advantage that makes Java relevant now and will keep it relevant for years to come.
So does it still make sense to build new-generation Web applications on Java? The answer is yes, fortunately, due to the rise in popularity of polyglot programming and the innovations it brings to the Java platform. Do you personally agree with this?