Software Alternatives, Accelerators & Startups

Apache Wicket VS Blockly

Compare Apache Wicket VS Blockly and see what are their differences

Apache Wicket logo Apache Wicket

HelloWorld demonstrates the basic structure of a web application in Wicket. A Label component is used to display a message on the home page for the application. In all the Wicket examples, you have to put all files in the same package directory.

Blockly logo Blockly

Blockly is a library for building visual programming editors.
  • Apache Wicket Landing page
    Landing page //
    2021-07-22
  • Blockly Landing page
    Landing page //
    2023-04-18

Apache Wicket features and specs

  • Component-based architecture
    Apache Wicket follows a component-based architecture, allowing developers to create reusable components that can be easily maintained and improved over time.
  • POJO-driven development
    Wicket promotes Plain Old Java Object (POJO) development, which simplifies the creation of web applications by reducing the need for extensive XML configurations and boosting productivity with familiar Java paradigms.
  • HTML-centric design
    The framework allows developers to start with pure HTML and then add dynamic behavior, leading to cleaner separation of concerns and easier markup manipulation.
  • Strong type checking
    Wicket provides strong type checking at compile time, which leads to fewer runtime errors and increases code safety and reliability.
  • Built-in AJAX support
    Wicket seamlessly integrates AJAX functionality, allowing developers to create rich internet applications with minimal effort.

Possible disadvantages of Apache Wicket

  • Steep learning curve
    The component-based approach and the specific conventions used in Wicket might require a significant learning period, especially for those who are new to component-driven web frameworks.
  • Less popularity
    Although Wicket has a dedicated community, it is not as widely adopted as some other Java web frameworks, which might result in fewer resources, tutorials, and third-party integrations.
  • Statefulness
    Wicket's stateful nature can lead to increased memory usage and potentially slower performance compared to stateless web frameworks, which might be important for applications with a large number of concurrent users.
  • Complexity in large applications
    As the size and scope of a Wicket application grow, the complexity of managing components and their interactions can also increase, making it harder to maintain without careful planning and architecture.

Blockly features and specs

  • User-Friendly
    Blockly offers a highly intuitive and visual interface. Users, especially beginners and non-programmers, can easily drag and drop blocks to create programs without needing to write code manually.
  • Educational Value
    Blockly is excellent for educational purposes. It simplifies the learning curve for programming by abstracting the complexities of syntax, allowing learners to focus on understanding logic and computational thinking.
  • Cross-Language Support
    Blockly can generate code for multiple programming languages (JavaScript, Python, PHP, Lua, Dart). This makes it versatile and useful for teaching and transitioning to various languages.
  • Customizability
    Blockly is highly customizable. Developers can create custom blocks and define their own rules, making it adaptable to various projects and domain-specific needs.
  • Open Source
    As an open-source project, Blockly provides the flexibility to modify and extend the toolkit to fit specific requirements. This open nature encourages community contributions and improvements.

Possible disadvantages of Blockly

  • Limited Complexity
    Blockly is designed for simplicity and may not handle very complex programming tasks efficiently. Advanced users might find it insufficient for sophisticated or large-scale projects.
  • Performance Overhead
    The visual programming model can introduce performance overhead. Converting blocks to executable code and running it can be less efficient compared to hand-written code, especially for performance-critical applications.
  • Learning Transition
    While Blockly is great for beginners, transitioning from block-based programming to traditional text-based coding can be challenging. Users may need additional guidance to adapt to the intricacies of syntax and coding best practices.
  • Limited Debugging Tools
    Blockly does not offer advanced debugging tools. Debugging issues can be more challenging compared to traditional IDEs that provide sophisticated debugging capabilities.
  • Scalability Issues
    For large projects, the block-based approach can become unwieldy and harder to manage compared to traditional text-based code which can be more neatly structured and maintained.

Analysis of Blockly

Overall verdict

  • Yes, Blockly is a good tool, especially for educational environments and projects that benefit from visual programming. It's well-supported by Google and the community, making it a reliable choice for developers.

Why this product is good

  • Blockly is a powerful library for creating visual programming editors. Its intuitive drag-and-drop interface allows both beginners and advanced programmers to create code blocks that can be converted into various text-based programming languages like JavaScript, Python, and more. This ease of use makes it an excellent tool for educational purposes and rapid prototyping.

Recommended for

  • Educators looking to introduce programming concepts to students.
  • Developers seeking to build applications with a visual programming interface.
  • Hobbyists interested in creating projects without extensive coding knowledge.
  • Organizations aiming to develop interactive tutorials and learning platforms.

Apache Wicket videos

Apache wicket: 1 start

More videos:

  • Review - Apache wicket: 12 LifeCycle

Blockly videos

Blockly: Using Block Based Coding in your App

More videos:

  • Review - Fable Blockly Review
  • Review - Trying Out Blockly, Google's New Programming Language [DiceTV]

Category Popularity

0-100% (relative to Apache Wicket and Blockly)
Web Frameworks
46 46%
54% 54
Developer Tools
53 53%
47% 47
JavaScript Tools
45 45%
55% 55
Game Development
0 0%
100% 100

User comments

Share your experience with using Apache Wicket and Blockly. For example, how are they different and which one is better?
Log in or Post with

Reviews

These are some of the external sources and on-site user reviews we've used to compare Apache Wicket and Blockly

Apache Wicket Reviews

17 Popular Java Frameworks for 2023: Pros, cons, and more
Tapestry is a component-based Java framework with which you can create scalable web applications. Its focus on reusable components makes it architecturally similar to Jakarta Faces and Apache Wicket (see both above). Like Struts and Wicket, Tapestry is also a project of the Apache Software Foundation.
Source: raygun.com
10 Best Java Frameworks You Should Know
Apache Wicket is a component-based application development framework developed by Jonathan Locke. It is one of the most recently developed Java frameworks.

Blockly Reviews

Top 20 Javascript Libraries
Blockly, a creation of Google, is a web-based visual programming editor. When added to the code, the library adds an editor to the app that represents code snippets like loops, expressions, variables, and more as blocks. The best part is that you can create custom code, and the output is syntactically correct in your choice of the programming language. Blockly has no...
Source: hackr.io

Social recommendations and mentions

Based on our record, Blockly should be more popular than Apache Wicket. It has been mentiond 31 times since March 2021. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

Apache Wicket mentions (10)

  • Show HN: Latudio โ€“ a language acquisition app with a listening-oriented approach
    - like Sentences exercise, but you can select your own set of sentences. You can also set goals and view statistics about your progress. None of this would be possible without the great help from hundreds of our contributors [3], who translated, mapped and recorded content. All the content you find in the app was reviewed multiple times by several people and recordings are made by native speakers. No story in the... - Source: Hacker News / over 1 year ago
  • We're breaking up with JavaScript front ends
    Sort of sounds like Apache Wicket (https://wicket.apache.org/). I used it for a few projects in the mid-late 2000s. I really liked it being server side and the concept of having object-oriented HTML (code paired with HTML snippets). I haven't had a need to use it since 2014, so haven't kept up with the project. - Source: Hacker News / over 3 years ago
  • Can I use Java to build a website?
    You can use Java for Backend and Frontend. A relative new kid on the block for Frontend is Qute. The general keyword you are searching for is Java Templating Engine. Specific examples would be Thymeleaf or FreeMarker. There are some framework, which offer a lot more than templating like Vaadin or Wicket. Some are just specifications like Jakarta Faces with some of their implementations MyFaces or Mojarra. Source: over 3 years ago
  • Getting back into Java after 12-15 years away?
    Perhaps, a good competitor for JSF is Apache Wicket. Source: almost 4 years ago
  • Options for high level front-end frameworks for Java developers
    I have used https://wicket.apache.org/ in the past and I think it matches your needs. It's a simple mvc that focuses on the actual java code writing and uses html only on the layout of your components in your page. Source: over 4 years ago
View more

Blockly mentions (31)

  • Ask HN: Platform for 11 year old to create video games?
    Scratch is fantastic. There are also a number of similar (block-based) tools that let you create your own custom blocks and see the code behind them - e.g. Blockly (https://developers.google.com/blockly). - Source: Hacker News / almost 2 years ago
  • Ask HN: Modern Day Equivalent to HyperCard?
    If your kid is already doing Scratch, Blockly is a really easy next step. https://developers.google.com/blockly Critically, Blockly can emit JavaScript and Python, plus it supports plugins for extended functionality. So the kid can stay inside the blockly universe for as long as they like, but easily peer under the hood and get into Python or JavaScript as soon as they like. - Source: Hacker News / about 2 years ago
  • A shortage of teachers for computer science classes in California
    The issue with Alice is that graphical, block based coding is not at all an ergonomic way to code. Sure, C++ probably isn't the best for an intro CS courses, either, but even just Python with some wrappers over SDL to draw sprites is not only a better teaching tool it's also forms a more useful springboard to build other projects. Graphical, block based coding seems to be a common attempt to make coding more... - Source: Hacker News / over 2 years ago
  • โšง๏ธŽ Super Smash Siblings Trans
    Unless it would contradict canon, every stage is very bright, highly interactive, full of pre-placed items, and so huge that you can usually run from your NPC opponents and enjoy exploring the stage in peace while they catch up to you. All buildings have Linux computers with actual internet access that allow you to program and print out your own projectiles/books/flags/UNO reverse cards/shinigami eyes/soupcans/cis... Source: almost 3 years ago
  • Scratch is the worldโ€™s largest coding community for children
    If your kids tinker with Scratch, try out TurboWarp[1], a Scratch mod that compiles projects to JavaScript. Other alternatives to tinker with are Blocky[2] and Snap[3]. 1. https://turbowarp.org 2. https://developers.google.com/blockly/ 3. https://snap.berkeley.edu. - Source: Hacker News / over 3 years ago
View more

What are some alternatives?

When comparing Apache Wicket and Blockly, you can also consider the following products

Grails - An Open Source, full stack, web application framework for the JVM

Spring Framework - The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.

Spark Mail - Spark helps you take your inbox under control. Instantly see whatโ€™s important and quickly clean up the rest. Spark for Teams allows you to create, discuss, and share email with your colleagues

Vaadin Framework - Vaadin is a web application framework for Rich Internet Applications (RIA).

Apache Struts - Apache Struts is an open-source web application framework for developing Java EE web applications.

Eclipse Jetty - Jetty is a highly scalable modular servlet engine and http server that natively supports many modern protocols like SPDY and WebSockets.